1. ホーム
  2. python

[解決済み] デフォルトの引数値を含む関数のシグネチャを読み取る方法を教えてください。

2022-04-28 16:34:55

質問

関数オブジェクトがある場合、そのシグネチャを取得するにはどうしたらよいですか?例えば、次のような場合です。

def myMethod(firt, second, third='something'):
    pass

を取得したいと思います。 "myMethod(firt, second, third='something')" .

解決方法は?

import inspect

def foo(a, b, x='blah'):
    pass

print(inspect.signature(foo))
# (a, b, x='blah')

Python 3.5 以上を推奨 inspect.signature() .