Рефлексия¶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.