[変数]は、クラスレベルまたはインスタンスレベルで使用されます。*変数*は、本質的に、プログラムで使用している値を表す記号です。クラスレベルでは、変数は*クラス変数*と呼ばれますが、インスタンスレベルの変数は*インスタンス変数*と呼ばれます。インスタンス間で変数の一貫性が期待される場合、または変数を初期化する場合、クラスレベルでその変数を定義できます。インスタンス間で変数が大きく変化すると予想される場合、インスタンスレベルで変数を定義できます。*原則で、これは*自分自身を繰り返さない*の略です。この原則は、コード内での繰り返しを制限することを目的としており、オブジェクト指向プログラミングは冗長性を減らすため、DRY原則に準拠しています。このチュートリアルでは、Python内のオブジェクト指向プログラミングでクラス変数とインスタンス変数の両方を使用する方法を示します。construction]内で定義されます。クラス自体が所有しているため、クラス変数はクラスのすべてのインスタンスで共有されます。したがって、クラス変数を使用して変数を初期化する場合を除き、通常はすべてのインスタンスで同じ値を持ちます。すべてのメソッドの外側で定義されたクラス変数は、慣例により、通常クラスヘッダーのすぐ下でhttps://www.digitalocean.com/community/tutorials/how-to-construct-classes-and-define-の前に配置されます。method]およびその他のメソッド。クラス変数のみは次のようになります。“+`が割り当てられます。+`と呼びます)、ドット表記を使用して変数を出力できます。shark.pyOutputfishプログラムは変数の値を返します。いくつかのクラス変数を追加して出力します。type]で構成できます。このプログラムには、文字列と整数があります。+`コマンドを使用してプログラムを再度実行し、出力を確認します。+`のインスタンスは、すべてのクラス変数にアクセスし、プログラムを実行するときにそれらを出力できます。クラス変数を使用すると、クラスの構築時に変数を定義できます。これらの変数とそれらに関連付けられた値は、クラスの各インスタンスからアクセス可能になります。インスタンス変数インスタンス変数は、クラスのインスタンスによって所有されます。これは、クラスのオブジェクトまたはインスタンスごとに、インスタンス変数が異なることを意味します。クラス変数とは異なり、インスタンス変数はメソッド内で定義されます。+`オブジェクトを作成するとき、これらの変数を定義する必要があります。これらの変数は、コンストラクターメソッドまたは別のメソッド内のパラメーターとして渡されます。5)クラス変数と同様に、インスタンス変数を出力するために同様に呼び出すことができます。+`で上記のプログラムを実行すると、次の出力が表示されます。+`のオブジェクトインスタンスに対して初期化した変数の値で構成されています。+`クラスのインスタンスに固有のパラメーターを渡し、インスタンス変数に値を割り当てます。クラスのオブジェクトが所有するインスタンス変数を使用すると、オブジェクトまたはインスタンスごとに、それらの変数に異なる値を割り当てることができます。+`クラスを使用してこの例を見てみましょう。プログラムのコメントは、プロセスの各ステップの概要を示しています。+`でプログラムを実行すると、次の出力が表示されます。+`でクラス変数とインスタンス変数の両方を使用しました。結論オブジェクト指向プログラミングでは、クラスレベルの変数はクラス変数と呼ばれ、オブジェクトレベルの変数はインスタンス変数と呼ばれます。この区別により、クラス変数を使用して、変数に割り当てられた特定の値でオブジェクトを初期化し、インスタンス変数を持つ各オブジェクトに異なる変数を使用できます。クラス固有の変数とインスタンス固有の変数を使用すると、コードがDRY原則に準拠し、コード内の繰り返しを減らすことができます。