Python関数のソースコードを取得するにはどうすればいいですか? 質問する

Python関数のソースコードを取得するにはどうすればいいですか? 質問する

以下のように定義された Python 関数があるとします。

def foo(arg1,arg2):
    #do something with args
    a = arg1 + arg2
    return a

を使用して関数の名前を取得できますfoo.func_name。上記で入力したように、プログラムでソース コードを取得するにはどうすればよいですか?

ベストアンサー1

関数がファイルシステム上で利用可能なソースファイルからのものである場合、inspect.getsource(foo)役に立つかもしれない:

fooが次のように定義される場合:

def foo(arg1,arg2):         
    #do something with args 
    a = arg1 + arg2         
    return a  

それから:

import inspect
lines = inspect.getsource(foo)
print(lines)

戻り値:

def foo(arg1,arg2):         
    #do something with args 
    a = arg1 + arg2         
    return a                

しかし、関数が文字列、ストリームからコンパイルされたり、コンパイルされたファイルからインポートされたりした場合は、そのソース コードを取得できないと思います。

おすすめ記事