我有一个包含类属性的类。我需要它们被一组其他类共享为类属性,这样如果它们中的任何一个修改了这些属性,它们都会被修改。我天真地尝试使用继承,但它不是那样工作的:每个类的行为就好像它有自己的这些类属性的“副本”。
文件:
# baseClass.py
class BaseClass(object):
iden = 0
# child1.py
from baseClass import BaseClass
class Child1(BaseClass):
@classmethod
def getId(cls):
return cls.iden
# child2.py
from baseClass import BaseClass
class Child2(BaseClass):
@classmethod
def getId(cls):
return cls.iden
我用来测试的文件是:
from child1 import Child1
from child2 import Child2
print(Child1.getId())
Child1.iden = 5
print(Child1.getId())
print(Child2.getId())
我看到的输出:
0
5
0
我应该怎么做,让 Child1、Child2 和 BaseClass 共享 iden 类属性?