все Python 3inspectпонятие
inspect
модуль
Заглядывает внутрь живых объектов: сигнатуры функций, исходный код, члены классов, кадры стека.
Синтаксис
import inspect
Берите inspect, когда коду нужно узнать о другом коде то, чего не видно через dir() и type(): параметры функции, их значения по умолчанию, исходник. Главное в нём — inspect.signature, а не устаревшие getargspec и formatargspec. Ловушка — getsource: у функций из C и у кода, набранного в интерактивной сессии, исходника нет, и вызов бросает OSError или TypeError.
Примеры
import inspect
def greet(name, greeting='Hi', *, loud=False):
return f'{greeting}, {name}'
sig = inspect.signature(greet)
print(sig) # → (name, greeting='Hi', *, loud=False)
print(list(sig.parameters)) # → ['name', 'greeting', 'loud']
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности