【发布时间】:2017-03-02 13:24:49
【问题描述】:
一个看似简单的事情,我无法解决。
registry = {}
def register(cls):
registry[cls.__clsid__] = cls
print cls
return cls
@register
class Foo(object):
__clsid__ = "123-456"
def bar(self):
pass
c=Foo()
d=Foo()
e=Foo()
输出:
<class '__main__.Foo'>
现在我希望装饰器被称为3 次。为什么它只被称为once。
【问题讨论】:
-
那么你想在这里实现什么?一个类对象只创建一次;您不是在创建更多类,而是在创建 实例。那些
Foo()调用不会重新执行class语句。
标签: python python-2.7 decorator python-decorators