如何隔離各個實例的類別資料
為了避免在多個實例之間共享類別資料並確保每個實例維護自己的數據,請依照下列步驟操作:
在建構子中宣告變數(__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中文網其他相關文章!