Python模块作为类的全局实例

2024-04-23 17:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
getattr on a module

我有一个模块,它定义了一个管理器类。我希望模块创建这个类的一个实例,并将该模块作为这个类的“全局实例”。例如:

class Manager:

    def func(self):
        print('stuff')

instance = Manager()

def func():
    instance.func()

有没有办法让module.x返回模块.实例.x?(有点像模块级属性)

更新:在this question中的答案只覆盖了我的用例的一半(即,它不是重复的,该问题所问的是不同的);我还需要模块的属性也可用。示例:

^{pr2}$

Tags: 模块实例instance管理器属性定义ondef
1条回答
网友
1楼 · 发布于 2024-04-23 17:28:01

为什么不让Manager__getattr__返回模块级对象?在

def __getattr__(self, key):
    try:
        return globals()[key]
    except KeyError:
        raise AttributeError(key)

相关问题 更多 >