类中特定于实例的数据
在面向对象编程中,类的实例可以共享数据。当您希望每个实例维护自己不同的数据时,这可能是不可取的。
假设我们有以下类:
class A: list = []
当我们创建此类的实例时,所有这些实例都共享相同的列表属性:
>>> x = A() >>> y = A() >>> x.list.append(1) >>> y.list.append(2) >>> print(x.list) [1, 2] >>> print(y.list) [1, 2]
为了避免这种行为并为每个对象提供单独的实例,我们可以修改该类声明:
class A: def __init__(self): self.list = []
通过在 __init__ 方法中声明 list,我们为 A 的每个新实例创建一个新的 list 实例。这确保了 A 的每个实例都有自己独立的列表属性:
>>> x = A() >>> y = A() >>> x.list.append(1) >>> y.list.append(2) >>> print(x.list) [1] >>> print(y.list) [2]
以上是如何确保 Python 类中特定于实例的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!