反射

PyObject *PyEval_GetBuiltins(void)
返回值:借用引用。 穩定 ABI 的一部分。

自 3.13 版本起已棄用:請改用 PyEval_GetFrameBuiltins()

返回當前執行幀中的內建字典,如果當前沒有執行幀,則返回執行緒狀態的直譯器。

PyObject *PyEval_GetLocals(void)
返回值:借用引用。 穩定 ABI 的一部分。

自 3.13 版本起已棄用:使用 PyEval_GetFrameLocals() 以獲得與在 Python 程式碼中呼叫 locals() 相同的行為,或者在 PyEval_GetFrame() 的結果上呼叫 PyFrame_GetLocals() 來訪問當前執行幀的 f_locals 屬性。

返回一個對映,提供對當前執行幀中區域性變數的訪問,如果當前沒有執行幀,則返回 NULL

有關不同作用域返回的對映的詳細資訊,請參閱 locals()

由於此函式返回一個 借用引用,因此為 最佳化作用域 返回的字典快取在幀物件上,並且只要幀物件存在,它就會保持活動狀態。與 PyEval_GetFrameLocals()locals() 不同,在同一幀中後續呼叫此函式將更新快取字典的內容,以反映區域性變數狀態的變化,而不是返回新的快照。

在 3.13 版本中更改:作為 PEP 667 的一部分,PyFrame_GetLocals()locals()FrameType.f_locals 不再使用共享快取字典。有關更多詳細資訊,請參閱 新增功能條目

PyObject *PyEval_GetGlobals(void)
返回值:借用引用。 穩定 ABI 的一部分。

自 3.13 版本起已棄用:請改用 PyEval_GetFrameGlobals()

返回當前執行幀中的全域性變數字典,如果當前沒有執行幀,則返回 NULL

PyFrameObject *PyEval_GetFrame(void)
返回值:借用引用。 穩定 ABI 的一部分。

返回當前執行緒狀態的幀,如果當前沒有執行幀,則返回 NULL

另請參閱 PyThreadState_GetFrame()

PyObject *PyEval_GetFrameBuiltins(void)
返回值:新引用。 自 3.13 版本起成為 穩定 ABI 的一部分。

返回當前執行幀中的內建字典,如果當前沒有執行幀,則返回執行緒狀態的直譯器。

在 3.13 版本中新增。

PyObject *PyEval_GetFrameLocals(void)
返回值:新引用。 自 3.13 版本起成為 穩定 ABI 的一部分。

返回當前執行幀中的區域性變數字典,如果當前沒有執行幀,則返回 NULL。等效於在 Python 程式碼中呼叫 locals()

要在不建立 最佳化作用域 中獨立快照的情況下訪問當前幀的 f_locals,請在 PyEval_GetFrame() 的結果上呼叫 PyFrame_GetLocals()

在 3.13 版本中新增。

PyObject *PyEval_GetFrameGlobals(void)
返回值:新引用。 自 3.13 版本起成為 穩定 ABI 的一部分。

返回當前執行幀中的全域性變數字典,如果當前沒有執行幀,則返回 NULL。等效於在 Python 程式碼中呼叫 globals()

在 3.13 版本中新增。

const char *PyEval_GetFuncName(PyObject *func)
屬於 穩定 ABI 的一部分。

如果 func 是函式、類或例項物件,則返回其名稱,否則返回 func 型別名稱。

const char *PyEval_GetFuncDesc(PyObject *func)
屬於 穩定 ABI 的一部分。

返回一個描述字串,具體取決於 func 的型別。返回值包括函式的“()”和方法,“ constructor”、“ instance”和“ object”。與 PyEval_GetFuncName() 的結果連線後,該結果將是對 func 的描述。