如何将实例还原为使用class属性而不是阴影实例属性



如果我有一个类和它的两个实例:

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

实例属性可以被删除,然后a将再次使用Foo:中定义的var

del a.var
Foo.var = 6
print(a.var)  # 6

相关内容

  • 没有找到相关文章

最新更新