Документация Python неофициальный перевод

РефлексияReflection

PyObject *PyEval_GetBuiltins(void)
Возвращаемое значение: заимствованная ссылка. Часть Stable ABI.

Устарело с версии 3.13: Используйте PyEval_GetFrameBuiltins() вместо этого.

Возвращает словарь встроенных имен в текущем фрейме выполнения или интерпретатор состояния потока, если в данный момент ни один фрейм не выполняется.

PyObject *PyEval_GetLocals(void)
Возвращаемое значение: заимствованная ссылка. Часть Stable ABI.

Устарело с версии 3.13: Используйте либо PyEval_GetFrameLocals(), чтобы получить то же поведение, что и при вызове locals() в коде Python, либо вызовите PyFrame_GetLocals() для результата PyEval_GetFrame(), чтобы получить доступ к атрибуту f_locals текущего выполняемого фрейма.

Возвращает отображение, предоставляющее доступ к локальным переменным в текущем фрейме выполнения, или NULL, если в данный момент ни один фрейм не выполняется.

Обратитесь к locals() за подробностями об отображении, возвращаемом в разных областях видимости.

Поскольку эта функция возвращает заимствованную ссылку, словарь, возвращаемый для оптимизированных областей видимости, кэшируется в объекте фрейма и будет оставаться живым, пока существует объект фрейма. В отличие от PyEval_GetFrameLocals() и locals(), последующие вызовы этой функции в том же фрейме будут обновлять содержимое кэшированного словаря, чтобы отражать изменения состояния локальных переменных, вместо возврата нового снимка.

Изменено в версии 3.13: В рамках PEP 667 функции PyFrame_GetLocals(), locals() и FrameType.f_locals больше не используют общий кэшированный словарь. Обратитесь к записи «Что нового» за дополнительными сведениями.

PyObject *PyEval_GetGlobals(void)
Возвращаемое значение: заимствованная ссылка. Часть Stable ABI.

Устарело с версии 3.13: Используйте PyEval_GetFrameGlobals() вместо этого.

Возвращает словарь глобальных переменных в текущем фрейме выполнения или NULL, если в данный момент ни один фрейм не выполняется.

PyFrameObject *PyEval_GetFrame(void)
Возвращаемое значение: заимствованная ссылка. Часть Stable ABI.

Возвращает фрейм текущего состояния потока, который равен NULL, если ни один фрейм не выполняется в данный момент.

См. также PyThreadState_GetFrame().

PyObject *PyEval_GetFrameBuiltins(void)
Возвращаемое значение: новая ссылка. Часть Stable ABI начиная с версии 3.13.

Возвращает словарь встроенных имен в текущем фрейме выполнения или интерпретатор состояния потока, если в данный момент ни один фрейм не выполняется.

Добавлено в версии 3.13.

PyObject *PyEval_GetFrameLocals(void)
Возвращаемое значение: новая ссылка. Часть Stable ABI начиная с версии 3.13.

Возвращает словарь локальных переменных в текущем фрейме выполнения или NULL, если в данный момент ни один фрейм не выполняется. Эквивалентно вызову locals() в коде Python.

Чтобы получить доступ к f_locals в текущем фрейме без создания независимого снимка в оптимизированных областях видимости, вызовите PyFrame_GetLocals() для результата PyEval_GetFrame().

Добавлено в версии 3.13.

PyObject *PyEval_GetFrameGlobals(void)
Возвращаемое значение: новая ссылка. Часть Stable ABI начиная с версии 3.13.

Возвращает словарь глобальных переменных в текущем фрейме выполнения или NULL, если в данный момент ни один фрейм не выполняется. Эквивалентно вызову globals() в коде Python.

Добавлено в версии 3.13.

const char *PyEval_GetFuncName(PyObject *func)
Часть Stable ABI.

Возвращает имя func, если это функция, класс или объект экземпляра, в противном случае – имя типа func.

const char *PyEval_GetFuncDesc(PyObject *func)
Часть Stable ABI.

Возвращает строку описания в зависимости от типа func. Возвращаемые значения включают «()» для функций и методов, « constructor», « instance» и « object». При конкатенации с результатом PyEval_GetFuncName() результатом будет описание func.