3.22 new ---
Création d'objets internes pendant l'exécution
Le module new permet une interface vers les fonctions de création
d'objets de l'interpréteur. Cela sert principalement pour des fonctions de
type marshal, quand un nouvel objet doit être créé ``par magie'' et pas
en utilisant les fonctions ordinaires de création d'objets. Ce module
procure un accès de bas niveau à l'interpréteur, il faut donc être
prudent quand on l'utilise.
Le module new définit les fonctions suivantes:
instance(classe, dict)
-
Cette fonction crée une instance de class avec le dictionnaire
dict sans appeler le constructeur __init__(). Notez qu'il n'est
pas garanti que l'objet sera dans un état cohérent.
instancemethod(fonction, instance, classe)
-
Cette fonction retourne un objet méthode, lié à instance, ou
non lié si instance vaut
None. fonction doit être appelable,
et instance doit être un objet instance ou bien None.
function(code, global[, nom[, defsarg]])
-
Retourne une fonction (Python) avec le code et l'espace de nom global donnés.
Si nom est fourni, il doit être une chaîne de caractères ou
None.
Si c'est une chaîne de caractères, la fonction aura le nom donné, sinon le
nom sera tiré de code.co_name. Si defsarg est fourni,
il doit s'agir d'un tuple, qui servira à déterminer les valeurs par défaut des
paramètres.
code(compteurarg, nlocaux, taillepile, indicateurs, chainecode,
constantes, noms, nomvars, fichier, nom, numpremiereligne,
lsanstab)
-
Cette fonction est une interface vers la fonction C PyCode_New().
module(nom)
-
Cette fonction retourne un nouvel objet module de nom nom.
nom doit être une chaîne de caractères.
classobj(nom, classesbase, dict)
-
Cette fonction retourne un nouvel objet classe, de nom nom, dérivé de
classesbase (qui doit être un tuple de classes) et avec l'espace de
nom dict.