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