個々のインスタンスのクラス データを分離する方法
複数のインスタンス間でクラス データが共有されることを回避し、各インスタンスが独自のデータを維持できるようにするには、次の手順に従います:
コンストラクター内で変数を宣言する(__init__ メソッド)
メソッドの外でクラスレベル変数を宣言するのではなく、init コンストラクター メソッド内で定義します。例:
class a: def __init__(self): self.list = [] # Declared within __init__ to create instance-specific lists
__init__ 内でリストを初期化すると、オブジェクトの新しいインスタンスごとにリストの新しいインスタンスが作成されます。
サンプル コード:
class a: def __init__(self): self.list = [] x = a() y = a() x.list.append(1) y.list.append(2) x.list.append(3) y.list.append(4) print(x.list) # prints [1, 3] print(y.list) # prints [2, 4]
この例では、リストは 2 つのインスタンス (x とy)、各インスタンスは必要に応じて独自の個別のデータを維持します。
以上がPython でインスタンス間でのクラス データの共有を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。