Questo modulo definisce i nomi per alcuni tipi di oggetto che vengono
usati dall'interprete standard di Python, ma non per i tipi definiti
da diversi moduli di estensione. Inoltre, non include alcuni tipi che
si presentano durante l'esecuzione come il tipo listiterator.
È buona norma usare "from types import *" -- il modulo non
esporta alcun nome oltre a quelli qui elencati. Nuovi nomi esportati
da versioni future di questo modulo, verrannoo tutti inseriti in
"Type".
Un uso tipico è per funzioni che svolgono differenti compiti in base ai loro tipi di argomento, come la seguente:
from types import *
def delete(mialista, elemento):
if type(elemento) is IntType:
del mialista[elemento]
else:
mialista.remove(elemento)
A partire da Python 2.2, funzioni fattoriali built-in come int() e str() vengono considerate anche nomi per indicare i tipi corrispondenti. Questo è il metodo attualmente preferito per accedere al tipo, piuttosto che usare il modulo types. In accordo con queste considerazioni, l'esempio precedente dovrebbe potersi scrivere come segue:
def delete(mialista, elemento):
if isinstance(elemento, int):
del mialista[elemento]
else:
mialista.remove(elemento)
Il modulo definisce i seguenti nomi:
None.
True e False; questo è un
alias della funzione built-in bool.
Nuovo nella versione 2.3.
1).
1L).
1.0).
1.0j). Questo è non
definito se Python viene compilato senza il supporto per i numeri
complessi.
'Spam').
u'Spam'). Questo
tipo è non definito se Python viene compilato senza il supporto per
l'Unicode.
(1, 2, 3, 'Spam')).
[0, 1, 2, 3]).
{'Bacon': 1, 'Ham': 0}).
DictType.
FunctionType.
MethodType.
BuiltinFunction.
sys.stdout.
Ellipsis.
sys.exc_traceback.
tb.tb_frame se tb è un oggetto traceback.
StringType e UnicodeType, usata
per facilitare il controllo di ogni oggetto stringa. Il suo utilizzo è
più portabile rispetto a quello di utilizzare una sequenza di due tipi
stringa costruiti altrove, poichè contiene soltanto UnicodeType,
se viene costruita mediante la versione corrente di Python. Per esempio:
isinstance(s, types.StringTypes).
Nuovo nella versione 2.2.