__doc__
プロパティを設定するデコレータを書くことが可能です:
def doc(docstr):
def deco(f):
f.__doc__ = docstr
return f
return deco
これは__doc__
属性以来、機能や古いスタイルのクラスのためではなく、新しい形式のクラスのために動作します新しいスタイルのクラスは、読み取り専用です(メタクラスを使用しない限り、ほとんど利益を得ずにさらに複雑になります)。
とにかくこのようなデコレータを使用しないことをおすすめします。通常の規則に従うだけです。こうすることで、他の開発者がすぐにドキュメンテーション文字列のためのソースコードを解析するツールが正常に動作しますが、ドキュメンテーション文字列何を理解するなど
編集:
def doc(docstr):
def deco(f):
if isinstance(f, type):
d = vars(f).copy()
d["__doc__"] = docstr
return type(f.__name__, f.__bases__, d)
f.__doc__ = docstr
return f
return deco
:また、新しいスタイルのクラスをカバーするために、あなたはこの実装を使用することができます
__doc__
は読み取り専用なので、目的のドキュメントを使用して新しいタイプのオブジェクトを作成する必要があります。簡単にするために、私はカスタムメタクラスを考慮しません(望むなら、上記のコードのf.__class__
によってtype
を置き換えてください)。
また、このデコレータの使用はお勧めできません。
確かに: '#' ;-)を使用してください – Tim
ドキュメントを正しく抽出するツールがある場合は有効な答えです。 :) –
あなたは、Pythonの穀粒を使って作業し、そのデザインと戦わないように自分自身を援助しています。ちょうだい;-) –