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

Python でインスタンス間でのクラス データの共有を防ぐにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 02:28:09366ブラウズ

How to Prevent Class Data Sharing Between Instances in Python?

個々のインスタンスのクラス データを分離する方法

複数のインスタンス間でクラス データが共有されることを回避し、各インスタンスが独自のデータを維持できるようにするには、次の手順に従います:

コンストラクター内で変数を宣言する(__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 サイトの他の関連記事を参照してください。

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