reflection.md
1> **Источник:** https://python-all.ru/3.10/c-api/reflection.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Рефлексия89#### `PyObject *PyEval_GetBuiltins(void)`1011*Возвращаемое значение: заимствованная ссылка.*1213*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable).*1415Возвращает словарь встроенных имен в текущем фрейме выполнения или интерпретатор состояния потока, если в данный момент ни один фрейм не выполняется.1617#### `PyObject *PyEval_GetLocals(void)`1819*Возвращаемое значение: заимствованная ссылка.*2021*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable).*2223Возвращает словарь локальных переменных в текущем кадре выполнения, или `NULL`, если в данный момент ни один кадр не выполняется.2425#### `PyObject *PyEval_GetGlobals(void)`2627*Возвращаемое значение: заимствованная ссылка.*2829*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable).*3031Возвращает словарь глобальных переменных в текущем фрейме выполнения или `NULL`, если в данный момент ни один фрейм не выполняется.3233#### `PyFrameObject *PyEval_GetFrame(void)`3435*Возвращаемое значение: заимствованная ссылка.*3637*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable).*3839Возвращает фрейм текущего состояния потока, который равен `NULL`, если ни один фрейм не выполняется в данный момент.4041См. также [`PyThreadState_GetFrame()`](https://python-all.ru/3.10/c-api/init.html#c.PyThreadState_GetFrame).4243#### `PyFrameObject *PyFrame_GetBack(PyFrameObject *frame)`4445Получает следующий внешний фрейм *frame*.4647Возвращает [сильную ссылку](https://python-all.ru/3.10/glossary.html#term-strong-reference) или `NULL`, если *frame* не имеет внешнего фрейма.4849*frame* не должен быть `NULL`.5051Новое в версии 3.9.5253#### `PyCodeObject *PyFrame_GetCode(PyFrameObject *frame)`5455*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable) начиная с версии 3.10.*5657Получает код *frame*.5859Возвращает [сильную ссылку](https://python-all.ru/3.10/glossary.html#term-strong-reference).6061*frame* не должен быть `NULL`. Результат (код фрейма) не может быть `NULL`.6263Новое в версии 3.9.6465#### `int PyFrame_GetLineNumber(PyFrameObject *frame)`6667*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable) начиная с версии 3.10.*6869Возвращает номер строки, которую *фрейм* в данный момент выполняет.7071*frame* не должен быть `NULL`.7273#### `const char *PyEval_GetFuncName(PyObject *func)`7475*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable).*7677Возвращает имя *func*, если это функция, класс или объект экземпляра, в противном случае – имя типа *func*.7879#### `const char *PyEval_GetFuncDesc(PyObject *func)`8081*Часть [Stable ABI](https://python-all.ru/3.10/c-api/stable.html#stable).*8283Возвращает строку описания в зависимости от типа *func*. Возвращаемые значения включают “()” для функций и методов, ” constructor”, ” instance”, и ” object”. Если объединить с результатом [`PyEval_GetFuncName()`](https://python-all.ru/3.10/c-api/reflection.html#c.PyEval_GetFuncName), получится описание *func*.84