「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python でインスタンス間でのクラス データの共有を防ぐにはどうすればよいですか?

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

2024 年 12 月 22 日に公開
ブラウズ:217

How to Prevent Class Data Sharing Between Instances in Python?

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

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

コンストラクター内で変数を宣言します (__init__) Method)

メソッドの外でクラスレベル変数を宣言するのではなく、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) 間で共有されなくなり、各インスタンスは必要に応じて独自の個別のデータを維持します。 .

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3