Создать подпись для функции легко с помощью функции подписи: из проверки импортируемой подписи
def someMethod(self, arg1, kwarg1=None):
pass
sig = signature(someMethod)
Теперь вы можете быстро просмотреть ее параметры, введя строку:
str(sig) # returns: '(self, arg1, kwarg1=None)'
или вы также можете получить сопоставление имен атрибутов с объектами параметров через sig.parameters.
params = sig.parameters
print(params['kwarg1']) # prints: kwarg1=20
Кроме того, вы можете вызвать len для sig.parameters, чтобы также увидеть количество аргументов, необходимых для этой функции:
print(len(params)) # 3
Каждая запись в отображении параметров на самом деле является объектом Parameterэто имеет дополнительные атрибуты, делающие вашу жизнь проще.Например, захват параметра и просмотр его значения по умолчанию теперь легко выполняется с помощью:
kwarg1 = params['kwarg1']
kwarg1.default # returns: None
аналогично для остальных объектов, содержащихся в параметрах.