все Python 3inspectфункция
inspect.iscode()
стек и кадры
Проверяет, что объект — объект кода (types.CodeType): скомпилированное тело функции или результат compile().
Синтаксис
inspect.iscode(object) -> bool
Функция и её код — разные вещи: iscode(f) даёт False, а iscode(f.__code__) — True. Код неизменяем и не знает ни глобальных переменных, ни значений по умолчанию — их держит функция; поэтому один код может лежать в нескольких функциях. Объект кода есть и у каждого кадра (frame.f_code): так узнают имя исполняемой функции через co_name.
Примеры
import inspect
def f():
return 1
print(inspect.iscode(f), inspect.iscode(f.__code__)) # → False True
print(inspect.iscode(compile('1 + 1', '<s>', 'eval'))) # → True
print(f.__code__.co_name) # → f
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности