私はPythonであるかメタクラスを学びました。私は、Pythonの作成者が誰もがそれらを使用したかったとは思わない。私は、ほとんどの場合、クラスではないかもしれないメタクラスが、このコンセプトからほとんどの人を迂回させるのに十分な名前であることを意味しています!私の質問にオン
余談エンド
。私はこの単純なメタクラスを書いて、モジュールで作成されたすべてのクラスにデフォルトのドキュメント文字列を追加しました。しかし、それが動作していません。
def metest(cls,name,bases,dict):
cls.setattr(cls,'__doc__',"""Default Doc""")
return type(cls,(),{})
__metaclass__=metest
class test(object):
pass
print test.__doc__
t=test()
print t.__doc__
出力:
None
None
は私が間違って何をやっているの?
グローバルメタクラスを使用することは可能ですが、単にオブジェクトから継承しないでください –
オブジェクトから継承してはいけないのは誰ですか?モジュールのメタクラスまたはすべてのクラス? – ritratt