それはハック感じているが、一つの方法は、co_consts
経由だろうドキュメンテーション文字列で取得することになります。私は確認するために、発電機の機能に適用するいくつかのデコレータを把握するために、より傾斜があると思い
localhost-2:coding $ cat mod1.py
def my_generator():
"""this is my generator"""
for x in (1,2,3):
yield x
it = my_generator()
localhost-2:coding $ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import mod1
>>> mod1.it.__doc__
>>> mod1.it.gi_code.co_consts[0]
'this is my generator'
>>> z = mod1.my_generator()
>>> z.__doc__
>>> z.gi_code.co_consts[0]
'this is my generator'
docstringはそのままです。
あなたは関数自体が必要な場合は、方法について:
>>> import mod1
>>> z = mod1.my_generator()
>>> z.__doc__
>>> z.gi_frame.f_globals[z.__name__]
<function my_generator at 0x1004b7cf8>
>>> z.gi_frame.f_globals[z.__name__] is mod1.my_generator
True
>>> z.gi_frame.f_globals[z.__name__].__doc__
'this is my generator'
が、私は、これはすべてのケースのために働くという約束をしない。..
出典
2012-03-24 16:24:00
DSM
あなたは右 'dir'機能、知っていますか? – Marcin