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