考虑在Python中建立下面的继承结构,在父类中由一个静态成员__repo__,在两个子类中分别修改父类中这个静态成员,结果两个子类之间的修改会相互影响
class GenericRepo(object):
__repo__ = {}
def fun(self):
print self.i
def get(self):
for key in GenericRepo.__repo__.keys():
print (key, GenericRepo.__repo__[key])
class A(GenericRepo):
def __new__(cls):
if not hasattr(A, "__inst__"):
cls.__inst__ = super(GenericRepo, cls).__new__(cls)
return cls.__inst__
def fun(self):
GenericRepo.__repo__["A"] = 1
class B(GenericRepo):
def __new__(cls):
if not hasattr(B, "__inst__"):
cls.__inst__ = super(GenericRepo, cls).__new__(cls)
return cls.__inst__
def fun(self):
GenericRepo.__repo__["B"] = 2
if __name__ == '__main__':
a =