可能重复:
getattr on a module
我有一个模块,用于定义一个Manager类。我希望该模块创建此类的实例,并让该模块充当此类的“全局实例”。例如:
class Manager:
def func(self):
print('stuff')
instance = Manager()
def func():
instance.func()
有没有办法让module.x返回module.instance.x? (有点像模块级属性)
更新:this question中的答案只涵盖了我用例的一半(即,它不是重复的,问题的要求是不同的);我还需要模块的属性也可用。例如:
class Manager:
def __init__(self):
self.x = 3
def func(self):
print('stuff')
sys.modules[__name__] = Manager()
>>> module.func
<func>
>>> module.x
3
>>> module.Manager
AttributeError
答案 0 :(得分:0)
为什么不让Manager
的{{1}}返回模块级对象?
__getattr__