代码对象

Code objects are a low-level detail of the CPython implementation. Each one represents a chunk of executable code that hasn’t yet been bound into a function.

PyCodeObject

The C structure of the objects used to describe code objects. The fields of this type are subject to change at any time.

PyTypeObject PyCode_Type

This is an instance of PyTypeObject representing the Python code 类型。

int PyCode_Check ( PyObject *co )

返回 True 若 co code object. This function always succeeds.

int PyCode_GetNumFree ( PyCodeObject *co )

Return the number of free variables in 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 )
返回值:新引用。

Return a new code object. If you need a dummy code object to create a frame, use PyCode_NewEmpty() instead. Calling PyCode_New() directly can bind you to a precise Python version since the definition of the bytecode changes often.

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() , but with an extra “posonlyargcount” for positional-only arguments.

3.8 版新增。

PyCodeObject * PyCode_NewEmpty ( const char *filename , const char *funcname , int firstlineno )
返回值:新引用。

Return a new empty code object with the specified filename, function name, and first line number. It is illegal to exec() or eval() the resulting code object.

上一话题

单元格对象

下一话题

文件对象

本页