如何隔离各个实例的类数据
为了避免在多个实例之间共享类数据并确保每个实例维护自己的数据,请按照以下步骤操作:
在构造函数中声明变量 (__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中文网其他相关文章!