Python のクラス変数とインスタンス変数について
Python では、クラスから作成されたオブジェクトは、クラス変数とインスタンス変数の 2 種類の変数を持つことができます。 。クラス変数はクラスのすべてのインスタンス間で共有されますが、インスタンス変数は各インスタンスに固有です。
クラス変数
クラス変数は、__init__ メソッドの外部で定義されます。これらは、クラス名、その後にドットと変数名を使用して宣言されます。例:
<code class="python">class MyClass: class_variable = 100</code>
MyClass のすべてのインスタンスは class_variable にアクセスできます。
インスタンス変数
インスタンス変数は __init__ 内で定義されます。方法。これらは、self キーワードに続いて変数名を使用して宣言されます。例:
<code class="python">class MyClass: def __init__(self): self.instance_variable = 200</code>
MyClass の各インスタンスには、独自の一意の instance_variable があります。
例の説明
質問で言及されている例について:
高度な例
以下例は、より複雑なシナリオを示しています。
<code class="python">class MyClass: class_variable = ['foo'] def __init__(self): self.instance_variable = ['bar']</code>
この例では、class_variable はクラス変数、instance_variable はインスタンス変数です。 x.list にアクセスすると、「thing」を含むように変更されたインスタンス変数にアクセスすることになります。 testClass.list にアクセスすると、変更されないままのクラス変数にアクセスすることになります。
以上が以下に、提供された記事の内容に合わせた質問ベースのタイトルをいくつか示します。 オプション 1 (差別化に重点を置く): * Python はクラス変数とインスタンス変数をどのように区別するのでしょうか? 選択するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。