【发布时间】:2020-07-26 08:27:13
【问题描述】:
如果我有一个类和它的两个实例:
class Foo:
var = 1
a = Foo()
b = Foo()
两个实例的var 属性反映了我将为Foo 设置的值:
Foo.var = 2
print(a.var) # 2
print(b.var) # 2
但是当我将var 设置为仅a 时,a.var 不再与Foo.var“同步”:
a.var = 3
Foo.var = 4
print(a.var) # 3
print(b.var) # 4
我能否以某种方式“还原”这个而不创建新实例,以便a.var 将再次反映Foo.var 的值?
明显的尝试不起作用(显然),因为整数不是引用:
a.var = Foo.var
print(a.var) # 4
Foo.var = 5
print(a.var) # 5
【问题讨论】:
-
...
del a.var? -
@jonrsharpe 嗯,这太简单了,谢谢!,我把它当作答案,以防其他人将来会想知道这个:D
标签: python attributes language-lawyer instance-variables class-attributes