Учитывая функциональный объект, как я могу получить его подпись? Например, для:
def myMethod(firt, second, third='something'):
pass
Я хотел бы добраться "myMethod(firt, second, third='something')"
.
import inspect
def foo(a, b, x='blah'):
pass
print(inspect.getargspec(foo))
# ArgSpec(args=['a', 'b', 'x'], varargs=None, keywords=None, defaults=('blah',))
Однако обратите внимание, что inspect.getargspec ()
устарел, начиная с Python 3.0.
Python 3.0–3.4 рекомендует inspect.getfullargspec ()
.
Python 3.5+ рекомендует inspect.signature ()
.
Попробуйте позвонить в help
для объекта, чтобы узнать об этом.
>>> foo = [1, 2, 3]
>>> help(foo.append)
Help on built-in function append:
append(...)
L.append(object) -- append object to end