代碼對象?
代碼對象是 CPython 實現(xiàn)的低級細節(jié)。 每個代表一塊尚未綁定到函數(shù)中的可執(zhí)行代碼。
-
PyCodeObject? 用于描述代碼對象的對象的 C 結(jié)構(gòu)。 此類型字段可隨時更改。
-
PyTypeObject
PyCode_Type? 這是一個
PyTypeObject實例,其表示Python的code類型。
-
int
PyCode_GetNumFree(PyCodeObject?*co)? 返回 co 中的自由變量數(shù)。
-
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 value: New reference.
返回一個新的代碼對象。 如果你需要一個虛擬代碼對象來創(chuàng)建一個代碼幀,請使用
PyCode_NewEmpty()。 調(diào)用PyCode_New()直接可以綁定到準確的 Python 版本,因為字節(jié)碼的定義經(jīng)常變化。
-
PyCodeObject*
PyCode_NewEmpty(const char?*filename, const char?*funcname, int?firstlineno)? - Return value: New reference.
返回具有指定文件名、函數(shù)名和第一行號的新空代碼對象。 對于
exec()或eval()生成的代碼對象是非法的。
