首頁 >後端開發 >Python教學 >如何防止Python實例之間的類別資料共享?

如何防止Python實例之間的類別資料共享?

Susan Sarandon
Susan Sarandon原創
2024-12-25 02:28:09366瀏覽

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]

在此範例中,清單不再在兩個實例(x 和y)之間共用,且每個實例實例根據需要維護其自己的單獨數據。

以上是如何防止Python實例之間的類別資料共享?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn