Python Glossary English

все 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Сообщить о неточности