如何恢复实例以使用 class 属性而不是阴影实例属性?

How to revert an instance to use the class attribute instead of the shadowing instance attribute?

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

class Foo:
    var = 1

a = Foo()
b = Foo()

两个实例的 var 属性反映了我将为 Foo 设置的值:

Foo.var = 2
print(a.var)  # 2
print(b.var)  # 2

但是当我为 a 设置 var 时,a.var 不再是 "in sync" 和 Foo.var:

a.var = 3
Foo.var = 4
print(a.var)  # 3
print(b.var)  # 4

我能否以某种方式"revert"这个而不创建新实例,以便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