3.27 new -- Creazione di oggetti interni in runtime

Il modulo new fornisce un'interfaccia per le funzioni di creazione degli oggetti dell'interprete. Il modulo viene principalmente impiegato nelle funzioni di tipo marshal, quando si deve creare ``magicamente'' un nuovo oggetto non utilizzando le normali funzioni di creazione. Il modulo fornisce un'interfaccia di basso livello all'interprete, quindi deve venire impiegato la necessaria cautela.

Il modulo new definisce le seguenti funzioni:

instance( class[, dict])
Questa funzione crea un'istanza di class con il dizionario dict, senza chiamare il costruttore __init__(). Se dict viene omesso o č None, un nuovo dizionario vuoto viene creato per la nuova istanza. Notate che non ci sono garanzie che l'oggetto sarā in uno stato consistente.

instancemethod( function, instance, class)
Questa funzione restituisce un oggetto metodo, limitato da instance, o senza sorta di limiti se instance č None. La funzione function deve essere chiamabile.

function( code, globals[, name[, argdefs]])
Restituisce una funzione (di natura Python) con i code e globals forniti. Se name viene indicato, deve essere una stringa o None. Se č una stringa, la funzione assumerā il name indicato, altrimenti il nome della funzione restituita verrā prelevato da code.co_name. Se argdefs viene fornito, deve essere una tupla, e verrā utilizzato per determinare il valore predefinito dei parametri.

code( argcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab)
Questa funzione č un'interfaccia alla funzione C PyCode_New().

module( name)
Questa funzione restituisce un nuovo modulo oggetto avente come nome il valore di name. name deve essere una stringa.

classobj( name, baseclasses, dict)
Questa funzione restituisce un nuovo oggetto classe, con nome uguale a name, derivato da baseclasses (che dovrebbe essere una tupla di classi) e con spazio dei nomi uguale a dict.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.