3.26.1 Oggetti Repr

Le istanze Repr forniscono diversi membri che possono venire usati per fornire i limiti sulla dimensione per la rappresentazione di differenti tipi di oggetti, e metodi il cui formato specifica i tipi di oggetto.

maxlevel
ProfonditÓ limite nella creazione di rappresentazioni ricorsive. Il valore predefinito Ŕ 6.

maxdict
maxlist
maxtuple
Limiti sul numero degli elementi rappresentati per il tipo di oggetto indicato. Il valore predefinito per maxdict Ŕ 4, per gli altri, 6.

maxlong
Massimo numero di caratteri nella rappresentazione di un intero long. Le cifre vengono rimosse a partire dal centro della stringa. Il valore predefinito Ŕ 40.

maxstring
Limite sul numero di caratteri nella rappresentazione della stringa. Notate che come fonte da cui estrarre i caratteri, viene utilizzata la ``normale'' rappresentazione della stringa: se nella rappresentazione sono necessarie sequenze di escape, queste possono venire tagliate quando la rappresentazione viene abbreviata. Il valore predefinito Ŕ 30.

maxother
Questo limite viene utilizzato per controllare la dimensione dei tipi oggetto per i quali nessuno specifico metodo di formattazione sia disponibile nell'oggetto Repr. Viene applicato in una modalitÓ simile a maxstring. Il valore predefinito Ŕ 20.

repr( obj)
L'equivalente della funzione built-in repr() che utilizza la formattazione imposta dall'istanza.

repr1( obj, level)
Implementazione ricorsiva usata da repr(). Utilizza il tipo di obj per determinare quale metodo di formattazione debba venire chiamato, passandogli obj e level. I metodi specifici del tipo devono chiamare repr1() per effettuare la formattazione ricorsiva, con level - 1 per il valore di level nella chiamata ricorsiva.

repr_type( obj, level)
Metodi di formattazione per tipi specifici vengono implementati come metodi con un nome basato sul nome del tipo. Nel nome del metodo, type viene rimpiazzato con string.join(string.split(type(obj).__name__, '_')). I comandi a questi metodi vengono gestiti da repr1(). Metodi per tipi specifici che necessitano di formattare ricorsivamente un valore, dovrebbero effettuare la chiamata a "self.repr1(subobj, level - 1)".

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.