ホームページ  >  記事  >  バックエンド開発  >  Python での変数の割り当てはどのように機能しますか: クラス、インスタンス、オブジェクト参照?

Python での変数の割り当てはどのように機能しますか: クラス、インスタンス、オブジェクト参照?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 09:10:29499ブラウズ

How Does Variable Assignment Work in Python: Classes, Instances, and Object References?

Python 変数の割り当て

Python では「変数宣言」という用語が使用されないことを理解することが重要です。代わりに、変数はオブジェクトに名前を与えるだけの代入によって作成されます。

クラス属性の割り当て

クラス本体内の変数はクラス属性とみなされ、すべての間で共有されます。

<code class="python">class Writer:
    path = ""
    customObj = CustomType()  # Create variable to hold custom type object</code>

インスタンス属性の割り当て

属性は、__init__() メソッドを使用するか、インスタンスに直接割り当てることによって、個々のインスタンスに割り当てることもできます。属性:

<code class="python">def __init__(self, path, customObj):
    self.path = path
    self.customObj = customObj  # Assign custom type object to instance

instance = Writer("/my/path", CustomType())</code>

Python のオブジェクトを理解する

Python では、クラスはオブジェクトであり、変数はオブジェクトを参照する名前です。クラス属性はクラス オブジェクトに存在しますが、インスタンス属性は個別のインスタンスに作成および保存されます。

インスタンス属性への割り当て

インスタンス属性に割り当てるとき、Python は次のチェックを行います。まずインスタンス。属性がインスタンスに存在しない場合は、クラスが検索されます。ただし、インスタンス属性に加えられた変更は、元のクラス属性を保持したまま、その特定のインスタンスにのみ影響します。

リストとミューテーション

への代入は次のことに注意することが重要です。 list オブジェクトは新しいリストを作成するのではなく、既存のリストを変更します。したがって、1 つのインスタンスでリスト属性に加えられた変更は、同じリスト属性を使用する他のすべてのインスタンスで表示されます。

結論

要約すると、Python はへの代入を利用します。変数を作成および変更します。クラス属性とインスタンス属性は、カスタム オブジェクトを含むさまざまなタイプのデータを保持するように宣言できます。クラスやインスタンス内でデータを効果的に管理するには、Python のオブジェクト属性の階層的性質を理解することが重要です。

以上がPython での変数の割り当てはどのように機能しますか: クラス、インスタンス、オブジェクト参照?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。