この二つは違うものですか?この 2 つが Python で与える結果は似ています。
1167 次
3 に答える
3
help()
Python関数です。
pydoc
同じものへのコマンドラインインターフェイスです。
pydocの機能を詳しく知りたい場合は、pydoc.py(import pydoc; pydoc.__file__
)を調べて、cli
関数の内容を確認してください。それはいくつかの余分なインポート魔法を行いますが、実際には必要ないと思います-help()
同じ種類の方法で評価される文字列を受け入れるので、「foo.py」がある場合は、実行python
してhelp('foo')
実行すると、レイアウトにわずかな違いがあるだけで、ほぼ同じ結果にimport foo; help(foo)
なると思います。おそらく歴史的な理由があります。
要するに、pydoc foo
はほぼ等しいpython -c "help('foo')"
于 2011-07-05T16:19:15.960 に答える
2
対話型help
関数は pydoc をインポートするだけです。ソースから:
class _Helper(object):
"""Define the builtin 'help'.
This is a wrapper around pydoc.help (with a twist).
"""
def __repr__(self):
return "Type help() for interactive help, " \
"or help(object) for help about object."
def __call__(self, *args, **kwds):
import pydoc
return pydoc.help(*args, **kwds)
__call__
定義に注意してください。
help(help)
;-)でドキュメントを見ることができます
このinspect
モジュールを使用して、次に興味があるときに自分でソースをチェックアウトできます。
自分で調査したい場合は、次のようにすると、オブジェクトに対して定義されたモジュールのソース コード定義が返されます。
inspect.getsource(inspect.getmodule(help))
于 2012-01-19T10:20:45.107 に答える