変数の内部と外部の区別を詳しく調べる __init__()
次の 2 つのクラスについて考えてみましょう。
<code class="python">class WithClass (): def __init__(self): self.value = "Bob" def my_func(self): print(self.value) class WithoutClass (): value = "Bob" def my_func(self): print(self.value)</code>
一見すると、これらのクラスは同じように見えます。ただし、値変数の配置に微妙な違いがあります。最初のクラス (WithClass) では、値は __init__() メソッド内で初期化されますが、2 番目のクラス (WithoutClass) では、値はメソッドの外で宣言されます。
__init__() 外部の変数 (クラス属性) と __init__() 内の変数 (インスタンス属性)
変数の配置によって、それがクラス属性であるかインスタンス属性であるかが決まります。
配置の結果
この区別は、コードの動作とメンテナンスに影響を及ぼします。
配置の選択
変数を配置する場所の選択は、変数を配置する方法によって異なります。クラス内で動作させたい。インスタンス間で一定の共有値が必要な場合は、クラス属性を使用します。各インスタンスに一意の値が必要な場合は、__init__() 内でインスタンス属性として作成します。
__init__() の内部と外部の変数の違いを理解することで、明確で予測可能な動作を持つクラスを設計できます。潜在的な混乱や落とし穴を回避します。
以上がPython の __init__() の内部と外部で定義された変数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。