反射

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* 的描述。