ホームページ >バックエンド開発 >Python チュートリアル >Python クラスでインスタンス固有のデータを確保するにはどうすればよいですか?

Python クラスでインスタンス固有のデータを確保するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 07:40:09644ブラウズ

How Can I Ensure Instance-Specific Data in Python Classes?

クラス内のインスタンス固有のデータ

オブジェクト指向プログラミングでは、クラスのインスタンスがデータを共有することが可能です。これは、各インスタンスに独自の個別のデータを維持させたい場合には望ましくないことがあります。

次のクラスがあるとします。

class A:
    list = []

このクラスのインスタンスを作成すると、すべてのインスタンスが共有されます。同じリスト属性:

>>> x = A()
>>> y = A()
>>> x.list.append(1)
>>> y.list.append(2)
>>> print(x.list)
[1, 2]
>>> print(y.list)
[1, 2]

この動作を回避し、オブジェクトごとに個別のインスタンスを提供するには、クラスを変更します。宣言:

class A:
    def __init__(self):
        self.list = []

__init__ メソッド内でリストを宣言することで、A の新しいインスタンスごとにリストの新しいインスタンスを作成します。これにより、A の各インスタンスが独自の独立したリスト属性を持つことが保証されます:

>>> x = A()
>>> y = A()
>>> x.list.append(1)
>>> y.list.append(2)
>>> print(x.list)
[1]
>>> print(y.list)
[2]

以上がPython クラスでインスタンス固有のデータを確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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