如何隔离各个实例的类数据
为了避免在多个实例之间共享类数据并确保每个实例维护自己的数据,请按照下列步骤操作:
在构造函数中声明变量 (__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)之间共享,并且每个实例根据需要维护自己的单独数据.
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3