反射

PyObject * PyEval_GetBuiltins ( void )
返回值:借位引用。 属于 稳定 ABI (应用程序二进制接口) .

Deprecated since version 3.13: 使用 PyEval_GetFrameBuiltins() 代替。

Return a dictionary of the builtins in the current execution frame, or the interpreter of the thread state if no frame is currently executing.

PyObject * PyEval_GetLocals ( void )
返回值:借位引用。 属于 稳定 ABI (应用程序二进制接口) .

Deprecated since version 3.13: Use either PyEval_GetFrameLocals() to obtain the same behaviour as calling locals() in Python code, or else call PyFrame_GetLocals() on the result of PyEval_GetFrame() to access the f_locals attribute of the currently executing frame.

Return a mapping providing access to the local variables in the current execution frame, or NULL if no frame is currently executing.

参考 locals() for details of the mapping returned at different scopes.

As this function returns a 借位引用 , the dictionary returned for optimized scopes is cached on the frame object and will remain alive as long as the frame object does. Unlike PyEval_GetFrameLocals() and locals() , subsequent calls to this function in the same frame will update the contents of the cached dictionary to reflect changes in the state of the local variables rather than returning a new snapshot.

Changed in version 3.13: As part of PEP 667 , PyFrame_GetLocals() , locals() ,和 FrameType.f_locals no longer make use of the shared cache dictionary. Refer to the What’s New entry 了解额外细节。

PyObject * PyEval_GetGlobals ( void )
返回值:借位引用。 属于 稳定 ABI (应用程序二进制接口) .

Deprecated since version 3.13: 使用 PyEval_GetFrameGlobals() 代替。

Return a dictionary of the global variables in the current execution frame, or NULL if no frame is currently executing.

PyFrameObject * PyEval_GetFrame ( void )
返回值:借位引用。 属于 稳定 ABI (应用程序二进制接口) .

Return the current thread state’s frame, which is NULL if no frame is currently executing.

另请参阅 PyThreadState_GetFrame() .

PyObject * PyEval_GetFrameBuiltins ( void )
返回值:新引用。 属于 稳定 ABI (应用程序二进制接口) since version 3.13.

Return a dictionary of the builtins in the current execution frame, or the interpreter of the thread state if no frame is currently executing.

3.13 版添加。