【发布时间】:2011-02-14 23:53:57
【问题描述】:
我想使用来自另一个模块的函数作为装饰器,但我需要它来操作当前模块的全局命名空间。
例如,我希望能够从这个:
class SomeClass:
pass
root = SomeClass
到这里:
from othermodule import decorator
@decorator
class Someclass:
pass
有什么想法吗?
【问题讨论】:
-
那段代码不是已经工作了吗?
-
我认为他希望装饰器中的代码在源类的全局范围内定义一个根变量。恐怕这对所有蟒蛇都是不利的。
-
你可以有一个函数返回接受你的全局变量的装饰器。