我有一个全局配置
pp
,它在运行时发生变化,并且需要在所有父/子对象之间共享它。
class Config:
pp = 'Init'
def __init__(self):
pass
class Child(Config):
def __init__(self, name):
self.cc = name
par = Config()
print(f"Parent: {par.pp}")
par.pp = "123"
print(f"Parent: {par.pp}")
child = Child('XYZ')
print(f"Child-1: {child.pp} - {child.cc}")
打印:
Parent: Init
Parent: 123
Child-1: Init - XYZ
第三条线预计是Child-1: 123 - XYZ
更新* 目前它适用于以下方法:
class Config:
pp = 'Init'
def __init__(self):
pass
def set_pp(self, val):
type(self).pp = val
class Config:
pp = 'Init'
class Child(Config):
def __init__(self, name):
self.cc = name
@property
def pp(self):
return Config.pp
@property.setter
def pp(self, value):
Config.pp = value