Python Glossary English

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