Objets code¶
Les objets Code sont spécifiques à l'implémentation bas niveau de CPython. Chacun d'eux représente une partie de code exécutable, qui n'a pas encore été lié dans une fonction.
-
PyCodeObject
¶ La structure C utilisée pour décrire les objets Code. Les attributs de cette structure sont sujets à changer à tout moment.
-
PyTypeObject
PyCode_Type
¶ C'est une instance de
PyTypeObject
représentant le type Pythoncode
.
-
int
PyCode_GetNumFree
(PyCodeObject *co)¶ Renvoie le nombre de variables libres dans 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 value: New reference.
Renvoie un nouvel objet code. Si vous avez besoin d'un objet code factice pour créer une frame, utilisez plutôt
PyCode_NewEmpty()
. AppelerPyCode_New()
peut vous lier directement à une version spécifique de Python, le bytecode étant sujet à modifications.
-
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)¶ - Return value: New reference.
Similar to
PyCode_New()
, but with an extra "posonlyargcount" for positional-only arguments.Nouveau dans la version 3.8.
-
PyCodeObject*
PyCode_NewEmpty
(const char *filename, const char *funcname, int firstlineno)¶ - Return value: New reference.
Renvoie un nouvel objet code avec le nom de fichier, le nom de fonction, et le numéro de première ligne donnés. Il n'est pas permis d'utiliser
exec()
oueval()
sur l'objet renvoyé.