Code Objects¶
代码对象是CPython实现的低级细节。每个代表一个尚未被绑定到函数中的可执行代码块。
-
PyCodeObject
¶ 用于描述代码对象的对象的C结构。此类型的字段可随时更改。
- PyTypeObject
PyCode_Type
¶ 这是
PyTypeObject
的实例,表示Pythoncode
类型。
- 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_NewEmpty
(const char *filename, const char *funcname, int firstlineno)¶