On this page
Code Objects
代码对象是 CPython 实现的底层细节。每个代表一个尚未绑定到函数中的可执行代码块。
PyCodeObject
- 对象的 C 结构用于描述代码对象。此类型的字段随时可能更改。
PyTypeObject
PyCode_Type
- 这是PyTypeObject的实例,表示 Python code类型。
int
PyCode_Check
(PyObject ** co *)- 如果* co *是code对象,则返回 true。
int
PyCode_GetNumFree
(PyCodeObject ** co *)- 返回* co *中可用变量的数量。
PyCodeObject *
PyCode_New
(int * argcount *,int * kwonlyargcount *,int * nlocals *,int * stacksize *,int * flags,PyObject *code ,PyObject consts *,PyObject *names ,PyObject varnames *,PyObject *freevars ,PyObject cellvars *,PyObject *filename ,PyObject name *,int * firstlineno *,PyObject ** lnotab *)- 返回值:新参考.
返回一个新的代码对象。如果您需要一个伪代码对象来创建框架,请改用PyCode_NewEmpty()。直接调用PyCode_New()可以将您绑定到精确的 Python 版本,因为字节码的定义经常更改。
- PyCodeObject *
PyCode_NewWithPosOnlyArgs
(int * argcount *,int * posonlyargcount *,int * kwonlyargcount *,int * nlocals *,int * stacksize *,int * flags *,PyObject *code ,PyObject consts *,PyObject *names ,PyObject varnames *,PyObject *freevars ,PyObject cellvars *,PyObject *filename ,PyObject name *,int * firstlineno *,PyObject ** lnotab *)- 返回值:新参考.
类似于PyCode_New(),但对于仅用于位置的参数具有额外的“ posonlyargcount”。
3.8 版的新Function。
- PyCodeObject *
PyCode_NewEmpty
(const char *filename ,const char funcname *,int * firstlineno *)- 返回值:新参考.