Python Glossary English

все Python 3inspectфункция

inspect.isframe()

стек и кадры

Проверяет, что объект — кадр исполнения (types.FrameType): то, что возвращают currentframe() и sys._getframe().

Синтаксис

inspect.isframe(object) -> bool

Элемент списка stack() — не кадр, а FrameInfo: isframe(inspect.stack()[0]) даёт False, сам кадр лежит в поле .frame. Функция тоже не кадр: кадр создаётся на каждый вызов и живёт, пока функция исполняется (или пока на него есть ссылка). Отсюда же ошибка, когда в getouterframes() передают FrameInfo вместо кадра.

Примеры

import inspect
fi = inspect.stack(0)[0]
print(inspect.isframe(fi), inspect.isframe(fi.frame))  # → False True
print(inspect.isframe(inspect.currentframe()))  # → True
del fi

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности