私は周りを回らないような一見簡単なことです。毎回クラスデコレータが呼び出されません
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'>
今私は、デコレータがtimes.Whyは、それが唯一のonce
と呼ばれてきた3
と呼ばれることを期待しています。
ここで何を達成しようとしていますか?クラスオブジェクトは1回だけ作成されます。より多くのクラスを作成していない場合は、インスタンス*を作成しています。これらの 'Foo()'呼び出しは 'class'文を再実行しません。 –