ホームページ >バックエンド開発 >Python チュートリアル >Python クラスでインスタンス固有のデータを確保するにはどうすればよいですか?
クラス内のインスタンス固有のデータ
オブジェクト指向プログラミングでは、クラスのインスタンスがデータを共有することが可能です。これは、各インスタンスに独自の個別のデータを維持させたい場合には望ましくないことがあります。
次のクラスがあるとします。
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 サイトの他の関連記事を参照してください。