関数からdocstringを取得する


184

次の機能があります。

def my_func():
    """My docstring is both funny and informative"""
    pass

どうすればdocstringにアクセスできますか?


13
-OOを指定してPythonを実行すると、docstringが削除されることに注意してください。コードを他の人に配布する場合は、その方法で実行される可能性があることに注意してください。あなたのコードがdocstringに依存している場合、それらは本当に本当に不幸になりますが、それらが存在しない場合をキャッチしません。
DNS、

回答:


243

インタラクティブに、あなたはそれを表示することができます

help(my_func)

またはコードからそれを取得することができます

my_func.__doc__

1
ところで:この手法は、組み込み関数だけでなく、モジュールやクラスでも機能します(オブジェクトのhelp()もテストします-機能する場合もあります)。これにより、Pythonシェルがインタラクティブなヘルプシェルになります。
ダレン・トーマス

3
ipythonプロンプトで、my_funcを実行できますか?docstringも表示されます。
ロナック

1
help(func)は読みやすい出力を提供し、func .__ doc__はインライン出力を提供します。答えてくれてありがとう。
imsrgadich

77

も使用できますinspect.getdoc__doc__タブをスペースに正規化し、ドキュメントの本文を左シフトして一般的な先行スペースを削除することにより、をクリーンアップします。


8

ipythonまたはjupyterノートブックでは、上記のすべての方法を使用できますが、

my_func?

または

?my_func

メソッドシグネチャとdocstringの両方の簡単な要約。

私は使用を避けます

my_func??

(@rohanによるコメント)docstringの場合、ソースコードをチェックするためにのみ使用します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.