L'interprete Python ha un numero di funzioni built-in che sono sempre disponibili. Vengono qui elencate in ordine alfabetico.
name[, globals[, locals[, fromlist]]]) |
Per esempio, l'istruzione "import spam" risulta nella seguente
chiamata: __import__('spam',
globals(),
, locals(), [])
;
l'istruzione "from spam.ham import eggs" risulta in
"__import__('spam.ham', globals(), locals(), ['eggs'])".
Notate che anche se locals()
e ['eggs']
vengono passate
come argomenti, la funzione __import__() non assegna la
variabile locale chiamata ['eggs']
; questo viene compiuto dal
codice successivo, generato per l'istruzione import. (Difatti,
l'implementazione standard non usa sempre gli argomenti
locals, ed usa i globals solo per determinare il
contesto relativo al package dell'istruzione import).
Quando il nome name della variabile è nella forma
package.module
, normalmente, viene restituito il package di
alto livello (il nome che precede il primo punto), non il modulo
chiamato da name. Tuttavia, quando viene fornito un argomento
fromlist non vuoto, viene restituito il modulo chiamato da
name. Questo è stato fatto per mantenere la compatibilità con
il bytecode generato per differenti tipologie di istruzioni import;
quando si usa "import spam.ham.eggs", il package di alto
livello spam deve essere importato nello spazio dei nomi,
ma quando si usa "from spam.ham import eggs", il sotto pacchetto
spam.ham
deve essere usato per cercare la variabile
eggs
. Per aggirare questo comportamento usate
getattr() per estrarre il componente desiderato.
Per esempio potreste definire il seguente assistente:
def my_import(name): mod = __import__(name) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod
x) |
) |
isinstance(obj, basestring)
è equivalente a
isinstance(obj, (str, unicode))
.
Nuovo nella versione 2.3.
[x]) |
Nuovo nella versione 2.2.1. Modificato nella versione 2.3: Se non viene fornito nessun argomento, questa funzione restituisce False.
object) |
i) |
chr(97)
restituisce la stringa
'a'
. Questo è l'inverso di ord(). L'argomento deve
essere compreso nell'intervallo [0..255]; Viene sollevata un'eccezione
ValueError se i è fuori da questo intervallo.
function) |
Un metodo di classe riceve la classe come primo argomento implicito, proprio come un metodo istanziato riceve l'istanza. Per dichiarare un metodo di una classe, usate questa forma:
class C: def f(cls, arg1, arg2, ...): ... f = classmethod(f)
Può essere chiamato sia su una classe (come C.f()
) che su
un'istanza (come in C().f()
). La chiamata viene ignorata
eccetto che per quella classe.
Se un metodo della classe viene chiamato per una classe derivata,
l'oggetto classe derivata viene passato come primo argomento
implicito.
I metodi delle classi sono differenti da quelli del C++ o dai metodi statici di Java. Se li volete, vedete staticmethod() in questa sezione. Nuovo nella versione 2.2.
x, y) |
x < y
, zero se x == y
e quindi
positivo se x > y
.
string, filename, kind[, flags[, dont_inherit]]) |
'<string>'
viene usato spesso). La tipologia kind, di argomento
specifica quale tipo di codice deve essere compilato; può essere
'exec'
se la stringa è composta da una sequenza di
istruzioni; 'eval'
se è composta da una singola espressione,
o 'single'
se è composta da una singola istruzione
interattiva (in quest'ultimo caso l'istruzione valuta che
l'espressione abbia un qualsiasi valore, altrimenti viene stampato
None
).
Quando compilate istruzioni su più righe, adottate due
accorgimenti: la fine della riga deve essere rappresentata da un
singolo carattere di fine riga ('\n'
), e l'input deve essere
terminato come minimo da un carattere di fine riga. Se la fine della
riga viene rappresentata da '\r\n'
, usate il metodo delle
stringhe replace() per cambiarla in '\n'
.
Gli argomenti facoltativi flags e dont_inherit (che sono una novità di Python 2.2) controllano quali istruzioni future (vedete la PEP 236) interesseranno la compilazione della stringa. Se nessuno dei due argomenti è presente (o entrambi sono zero) il codice viene compilato con quelle future istruzioni effettivamente presenti nel codice che si sta chiamando a compilare. Se l'argomento flags è dato e dont_inherit non lo è (o è zero), l'istruzione futura specificata dall'argomento flags viene usata in congiunzione a quelle che sarebbero state comunque utilizzate. Se dont_inherit è un intero diverso da zero, allora l'argomento flags è vero -- le istruzioni future di fatto vengono ignorate dalla chiamata per la compilazione.
Le istruzioni future vengono specificate da bit che possono essere bit per bit or-ed e anche per specificare istruzioni multiple. Il bit-fields richiesto per specificare una data caratteristica può essere trovato come l'attributo compiler_flag nell'istanza _Feature nel modulo __future__.
[real[, imag]]) |
0j
.
object, name) |
delattr(x, 'foobar')
è equivalente a
del x.foobar
.
[mapping-or-sequence]) |
Se sono dati gli argomenti chiave, le chiavi stesse con i loro valori
associati, vengono aggiunte agli elementi del dizionario. Se una
chiave è specificata sia nell'argomento posizionale sia
nell'argomento chiave, il valore associato alla chiave viene
conservato nel dizionario.
Per esempio, tutto questo restituisce un dizionario
equivalente a {"uno": 2, "due": 3}
:
dict({'uno': 2, 'due': 3})
dict({'uno': 2, 'due': 3}.items())
dict({'uno': 2, 'due': 3}.iteritems())
dict(zip(('uno', 'due'), (2, 3)))
dict([['due', 3], ['uno', 2]])
dict(uno=2, due=3)
dict([(['uno', 'due'][i-2], i) for i in (2, 3)])
Nuovo nella versione 2.2. Modificato nella versione 2.3: Aggiunto il supporto per la costruzione di un dizionario da un argomento chiave.
[object]) |
>>> import struct >>> dir() ['__builtins__', '__doc__', '__name__', 'struct'] >>> dir(struct) ['__doc__', '__name__', 'calcsize', 'error', 'pack', 'unpack']
Note: Siccome dir() viene fornito principalmente per averne il vantaggio nell'uso del prompt interattivo, esso cerca di fornire un utile insieme di nomi, piuttosto che di fornire un voluminoso e rigorosamente definito insieme di nomi, e il suo livello di dettaglio potrà cambiare con successive versioni dell'interprete.
a, b) |
(a / b, a % b)
. Per i numeri in
virgola mobile il risultato è
(q, a % b)
, dove q è solitamente
math.floor(a / b)
ma potrebbe essere inferiore di
una unità. In ogni caso
q * b + a % b
è molto vicino
ad a, se a % b
non è zero e possiede lo
stesso segno di b, e
0 <= abs(a % b) < abs(b)
.
Modificato nella versione 2.3: l'uso di divmod() con numeri complessi è deprecato.
iterable) |
(0, seq[0])
, (1, seq[1])
, (2, seq[2])
, ....
Nuovo nella versione 2.3.
expression[, globals[, locals]]) |
>>> x = 1 >>> print eval('x+1') 2
Questa funzione può anche impiegarsi per eseguire oggetti di codice
arbitrario (come quello creato con compile()). In
questo caso, viene passato il codice di un oggetto invece di una
stringa. Il codice oggetto deve essere stato compilato passando
'eval'
come tipologia (kind) di argomento.
Suggerimento: l'esecuzione dinamica di istruzioni viene supportata dall'istruzione exec. L'esecuzione di istruzioni da un file viene supportata dalla funzione execfile(). Le funzioni globals() e locals() restituiscono rispettivamente i dizionari globali e locali, che potrebbero essere utili per l'uso di eval() o execfile().
filename[, globals[, locals]]) |
Gli argomenti sono il nome di un file e due dizionari facoltativi. Il
file viene analizzato e valutato come una sequenza di istruzioni Python
(in modo simile ad un modulo), usando i dizionari globals e
locals come spazi dei nomi globali e locali. Se il dizionario
locals viene omesso, quello predefinito è globals.
Se entrambi i dizionari vengono omessi, l'espressione viene eseguita
nell'ambiente dove viene chiamato execfile().
Il valore restituito è None
.
Le azioni predefinite di locals vengono descritte per le funzioni locals() più avanti: non dovrebbero essere tentate modifiche al dizionario locals predefinito. Passategli un esplicito dizionario locals se avete bisogno di vedere gli effetti del codice sullo spazio dei nomi locale (locals) dopo il risultato della funzione execfile(). execfile() non può essere usato in modo attendibile per modificare le variabili locali di una funzione.
filename[, mode[, bufsize]]) |
stdio
fopen(): filename è il nome del file
che deve essere aperto, mode indica il modo e la modalità in
cui deve aprirsi il file: 'r'
per la lettura,
'w'
per la scrittura (troncando un file esistente), e
'a'
per aggiungere (in alcuni sistemi Unix
significa che il testo viene inserito tutto alla fine del
file, senza riguardo per la posizione di ricerca).
I modi 'r+'
, 'w+'
ed 'a+'
aprono il file per
aggiornarlo (notate che 'w+'
tronca il file). Aggiungete
'b'
al modo per aprire il file in modalità binaria, su
sistemi che differenziano tra file binari e file di testo
(altrimenti ignorato). Se il file non può essere aperto, viene
sollevata un'eccezione IOError.
Un'aggiunta al valore predefinito per fopen(), riguardo
alla modalità di apertura mode, potrebbe essere 'U'
o
'rU'
. Se Python è stato compilato con il supporto universale ai
fine riga (predefinito) il file verrà aperto come un file di testo,
ma le righe termineranno con un '\n'
, il carattere di fine
riga convenzionale di Unix, '\r'
il carattere Macintosh
convenzionale o '\r\n'
, il carattere Windows
convenzionale. Tutte queste rappresentazioni vengono viste come
'\n'
dal programma Python. Se Python è stato compilato senza il
supporto universale ai fine riga il mode supportato 'U'
è lo stesso del modo testo normale. Notate anche che i file
oggetto così aperti hanno anche un attributo chiamato
newlines che ha valore None
(se nessun fine riga è
stato ancora visto), '\n'
, '\r'
,
'\r\n'
, o una tupla contenente tutti i caratteri di fine
riga visti.
Se mode viene omesso, il valore predefinito è 'r'
.
Aprendo un file binario, si dovrebbe collegare 'b'
al valore
della modalità scelta per una migliore la portabilità. (Questo è
utile su sistemi che non trattano i file binari e quelli di testo
differentemente, dove serve come documentazione).
L'argomento facoltativo bufsize specifica la dimensione
desiderata del file di buffer: 0 significa non bufferizzato, 1
significa riga bufferizzata, ogni altro valore positivo indica
l'uso di un buffer (approssimativamente) di quella misura. Un
bufsize negativo significa l'uso predefinito di quello di
sistema, che è di solito una riga bufferizzata per i dispositivi tty
e completa bufferizzazione per gli altri file. Se omesso, viene
adottato il sistema predefinito.2.3
Il costruttore file() è nuovo in Python 2.2. L'ortografia precedente, open(), viene mantenuta per la compatibilità ed è un alias per file().
function, list) |
None
, ne viene assunta
l'identità attribuita alla funzione, quindi tutti gli elementi di
list che risultino falsi (zero o vuoti) vengono rimossi.
Notate che filter(function, list)
è equivalente a
[elemento for elemento in list if function(elemento)]
se la funzione non è None
e se
[elemento for elemento in list if elemento]
se la
funzione è None
.
[x]) |
0.0
.
Note: Quando passati ad una stringa, i valori per NaN ed Infinito possono essere restituiti a seconda della libreria C in uso. Lo specifico insieme di stringhe accettate che causano questi valori dipende interamente dalla libreria C ed è noto che può essere variabile.
[iterable]) |
frozenset([])
.
Nuovo nella versione 2.4.
object, name[, default]) |
getattr(x, 'foobar')
è
equivalente a x.foobar
. Se l'attributo nominato non esiste,
viene restituito il valore predefinito, se fornito, altrimenti viene
sollevata un'eccezione AttributeError.
) |
object, name) |
True
se la stringa è il nome, name, di uno degli
attributi dell'oggetto, False
se non lo è. Questo viene
implementato dalla chiamata getattr(object, name)
e vedendo se solleva un'eccezione oppure no.
object) |
[object]) |
x) |
hex(-1)
produce
'0xffffffff'
. Quando valutato su una macchina con la stessa
dimensione della parola, questa costante viene valutata come
-1; ad una differente dimensione della parola aumenta il numero
positivo o solleva un'eccezione OverflowError.
object) |
[prompt]) |
eval(raw_input(prompt))
.
Questa funzione non protegge dagli errori degli utenti! Si
aspetta una valida espressione Python come input; se l'input non è
sintatticamente valido, verrà sollevata un'eccezione
SyntaxError. Altre eccezioni possono essere sollevate
se si verifica un errore durante la valutazione. (In altre parole,
qualche volta è esattamente quello di cui avete bisogno quando
scrivete un veloce script per uso esperto).
Se il modulo readline è stato caricato, allora input() verrà usato per fornire funzionalità per la scrittura su riga di comando, e per la memoria storica dei comandi impartiti.
Considerate l'uso delle funzioni raw_input() per il generale input degli utenti.
[x[, radix]]) |
0
.
object, classinfo) |
class, classinfo) |
o[, sentinel]) |
0
). Se non supporta nessuno di
questi protocolli verrà sollevata un'eccezione
TypeError. Se il secondo argomento, sentinel, viene
dato, allora o deve essere un oggetto chiamabile.
L'iteratore creato in questo caso chiamerà o senza argomenti
per ogni chiamata al suo metodo next(); se il valore
restituito è uguale a sentinel, verrà sollevata l'eccezione
StopIteration, altrimenti verrà restituito il valore.
Nuovo nella versione 2.2.
s) |
[sequence]) |
sequence[:]
. Per esempio, list('abc')
restituisce ['a', 'b', 'c']
e list( (1, 2, 3) )
restituisce [1, 2, 3]
. Se non viene dato alcun argomento,
restituisce una nuova lista vuota, []
.
) |
[x[, radix]]) |
0L
.
function, list, ...) |
None
. Se la function è
None
, viene assunta la sua funzione identità; se ci sono
molteplici liste di argomenti, map() restituisce una lista
consistente in tuple, contenenti i corrispondenti elementi di tutte le
liste (una sorta di operazione di trasposizione). Gli argomenti di
list possono essere ogni tipo di sequenza; il risultato è sempre
una lista.
s[, args...]) |
s[, args...]) |
) |
Modificato nella versione 2.3: Questa funzione non accetta nessun argomento. Precedentemente accettava argomenti ma li ignorava.
x) |
oct(-1)
restituisce
'037777777777'
. Quando viene valutata su una macchina con
la stessa dimensione della parola, questa costante viene valutata -1;
ad una differente dimensione della parola, può diventare un grande
numero positivo o sollevare un'eccezione OverflowError.
filename[, mode[, bufsize]]) |
c) |
ord('a')
restituisce l'intero
97
, ord(u'\u2020')
restituisce 8224
. Questo è
il contrario di chr() per le stringhe e di
unichr() per i caratteri Unicode.
x, y[, z]) |
pow(x, y) % z
). Gli argomenti devono
avere tipi numerici. Con tipi di operandi misti, vengono
applicate le regole coercitive per gli operatori binari aritmetici.
Per gli operandi int e long int, il risultato ha lo stesso tipo
dell'operando (dopo la coercizione) a meno che il secondo argomento
risulti negativo; in quel caso, tutti gli argomenti vengono
convertiti in float e viene restituito un risultato float.
Per esempio, 10**2
restituisce 100
, ma 10**-2
restituisce 0.01
.
(Quest'ultima caratteristica è stata aggiunta in Python 2.2. In
Python 2.1 e precedenti, se entrambi gli argomenti erano di tipo
intero ed il secondo argomento era negativo, veniva sollevata
un'eccezione). Se il secondo argomento è negativo, il terzo
argomento deve essere omesso. Se z è presente, x e
y devono essere di tipo intero, e y non deve essere
negativo. (Questa restrizione è stata aggiunta in Python 2.2. In
Python 2.1 e precedenti, i tre argomenti floating di pow()
restituivano, dipendentemente dalla piattaforma, un numero in
virgola mobile, variabile a seconda dell'arrotondamento in virgola
mobile).
[fget[, fset[, fdel[, doc]]]]) |
fget è una funzione per ottenere il valore di un attributo, allo stesso modo fset è una funzione per assegnare un valore e fdel è una funzione per cancellare un attributo. Un uso tipico è quello di definite l'attributo gestito x:
class C(object): def getx(self): return self.__x def setx(self, value): self.__x = value def delx(self): del self.__x x = property(getx, setx, delx, "Io sono la proprietà di 'x'.")
Nuovo nella versione 2.2.
[start,] stop[, step]) |
1
.
Se l'argomento start viene omesso, il suo valore predefinito
viene assunto uguale a 0
. La forma completa restituisce una
lista di interi semplici [start, start + step,
start + 2 * step, ...]
.
Se step è positivo, l'ultimo elemento è il più grande
start + i * step
minore di stop;
se step è negativo, l'ultimo elemento è il più grande
start + i * step
più grande di stop.
step non deve essere zero (altrimenti viene sollevata un'eccezione
ValueError). Esempio:
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) [0, 3, 6, 9] >>> range(0, -10, -1) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
[prompt]) |
>>> s = raw_input('--> ') --> Monty Python's Flying Circus >>> s "Monty Python's Flying Circus"
Se il modulo readline viene caricato, raw_input() lo userà per elaborare le righe inserite e le funzionalità dello storico dei comandi.
function, sequence[, initializer]) |
reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])
calcola
((((1+2)+3)+4)+5)
. L'argomento di sinistra, x, è il
valore accumulato e l'argomento di destra, y, il valore
aggiornato dalla sequenza. Se l'inizializzatore facoltativo
initializer è presente, viene posizionato prima degli elementi
nella sequenza di calcolo, e serve da valore predefinito quando la
sequenza è vuota. Se initializer non viene dato e sequence
contiene solo un elemento, viene restituito il primo elemento.
module) |
Quando reload(module)
viene eseguito:
init
dei moduli di estensione non
viene chiamata in un secondo tempo.
Esistono alcuni altri avvertimenti:
Se il modulo è sintatticamente corretto ma la sua inizializzazione
fallisce, la prima istruzione import che lo riguarda
potrebbe non collegare il suo nome localmente, ma immagazzinarlo in
un modulo oggetto (parzialmente inizializzato), sys.modules
.
Per ricaricare il modulo dovete eseguire nuovamente un
import (questo collegherà il nome al modulo oggetto
parzialmente inizializzato) prima di poterlo ricaricare con
reload()).
Quando un modulo viene ricaricato, il suo dizionario (contenente le variabili globali del modulo) viene mantenuto. La ridefinizione dei nomi sovrascriverà le vecchie definizioni, quindi questo non è in generale un problema. Se la nuova versione del modulo non definisce un nome che invece era definito nella vecchia versione, ressta la vecchia definizione. Questa caratteristica può essere usata a vantaggio del modulo se mantiene una tabella globale o una cache degli oggetti -- con una istruzione try esso può valutare la presenza della tabella, e saltare la sua inizializzazione se lo si desidera.
try: cache except NameError: cache = {}
Non è generalmente molto utile ricaricare il built-in o i moduli dinamicamente, ad eccezione che per sys, __main__ e __builtin__. In molti casi, comunque, i moduli di estensione non sono destinati ad essere inizializzati più di una volta, e potrebbero fallire in modo arbitrario quando ricaricati.
Se un modulo importa oggetti da un altro modulo usando from ... import ..., la chiamata reload() per l'altro modulo non ridefinisce gli oggetti importati da esso -- un modo per aggirare questo comportamento consiste nel rieseguire l'istruzione from, un'altro consiste nell' utilizzare import e dei nomi qualificati (module.name) al suo posto.
Se il modulo istanzia le istanze di una classe, il ricaricamento del modulo che definisce la classe non influenza il metodo di definizione delle istanze -- queste continuano ad usare la vecchia definizione di classe. È vero anche per le classi derivate.
object) |
seq) |
0
).
Nuovo nella versione 2.4.
x[, n]) |
round(0.5)
è 1.0
e
round(-0.5)
è -1.0
).
[iterable]) |
set([])
.
Nuovo nella versione 2.4.
object, name, value) |
setattr(x, 'foobar', 123)
è equivalente
a x.foobar = 123
.
[start,] stop[, step]) |
range(start, stop, step)
.
Gli argomenti start e step per
definizione sono None
. Gli oggetti fetta hanno attributi in
sola lettura start, stop e step, che
semplicemente restituiscono i valori degli argomenti (o i loro
predefiniti). Non hanno altre funzionalità esplicite; tuttavia
vengono usati da Numerical Python ed altre
estensioni di terze parti. Gli oggetti fetta vengono generati anche
quando viene usata una sintassi indicizzata. Per esempio:
"a[start:stop:step]" o "a[start:stop, i]".
iterable[, cmp[, key[, reverse]]]) |
function) |
Un metodo statico non riceve un primo argomento implicito. Per dichiarare un metodo statico usate la forma:
class C: def f(arg1, arg2, ...): ... f = staticmethod(f)
Può essere chiamato sia nella classe (come in C.f()
che in
una istanza (come in C().f()
). L'istanza viene ignorata
eccetto che per la sua classe.
I metodi statici in Python sono simili a quelli trovati in Java o in C++. Per concetti più avanzati, vedete classmethod() in questa sezione. Nuovo nella versione 2.2.
[object]) |
repr(object)
è che
str(object)
non sempre tenta di restituire una stringa
che sia accettabile da eval(); il suo obiettivo è
restituire una stringa stampabile. Se non vengono forniti argomenti,
restituisce la stringa vuota, ''
.
sequence[, start]) |
0
. Gli elementi della
sequenza sequence sono normalmente numeri e non è consentito
che siano stringhe. Il veloce e corretto sistema per concatenare
una sequenza di stringhe è chiamare ''.join(sequence)
.
Notate che sum(range(n), m)
è equivalente a
reduce(operator.add, range(n), m)
.
Nuovo nella versione 2.3.
type[, object-or-type]) |
isinstance(object, type)
deve essere vero. Se il secondo argomento è un tipo,
issubclass(type2, type)
deve essere vero.
super() lavora solo con le classi di nuovo stile.
Un uso tipico per chiamare un metodo cooperativo di superclasse è:
class C(B): def meth(self, arg): super(C, self).meth(arg)
[sequence]) |
tuple('abc')
restituisce ('a', 'b', 'c')
e tuple([1, 2, 3])
restituisce (1, 2, 3)
. Se non vengono forniti argomenti,
viene restituita una nuova tupla vuota, ()
.
object) |
>>> import types >>> x = 'abc' >>> if type(x) is str: print "Una stringa" ... Una stringa >>> def f(): pass ... >>> if type(f) is types.FunctionType: print "Una funzione" ... Una funzione
La funzione built-in isinstance() è raccomandata per testare il tipo di un oggetto.
i) |
unichr(97)
restituisce la
stringa u'a'
. Questo è l'inverso di ord() per
le stringhe Unicode. L'argomento deve appartenere all'intervallo
[0..65535]. Diversamente viene sollevata un'eccezione
ValueError.
Nuovo nella versione 2.0.
[object[, encoding [, errors]]]) |
Se sono forniti encoding e/o errors, unicode()
decodifica l'oggetto, che può essere sia una stringa a 8 bit che un
buffer di caratteri, usando il codec per la codifica encoding.
Il parametro encoding è una stringa che fornisce il nome di
una codifica; se la codifica non è conosciuta, viene sollevata
un'eccezione LookupError. La gestione degli errori
viene fatta in accordo con errors; questo specifica il
trattamento di caratteri che hanno una codifica di input non valida.
Se errors è 'strict'
(predefinito) viene sollevata
un'eccezione ValueError sugli errori, mentre un valore
'ignore'
fa in modo che gli errori vengano ignorati
silenziosamente, e un valore 'replace'
fa in modo che il
carattere di sostituzione ufficiale Unicode, U+FFFD
, venga
usato per sostituire caratteri di input che non possono essere
decodificati. Vedete anche il modulo codecs.
Se nessun parametro facoltativo viene fornito, unicode()
imiterà il comportamento di str()
, salvo restituire stringhe
Unicode anziché stringhe a 8-bit. Più precisamente, se l'oggetto
object è una stringa Unicode o una sua sotto classe, restituirà
quella stringa Unicode senza applicare nessuna decodifica.
Per gli oggetti che forniscono un metodo __unicode__(),
chiamerà questo metodo senza argomenti per creare una stringa
Unicode. Per tutti gli altri oggetti, la versione della stringa a 8
bit o una rappresentazione di questa viene richiesta e quindi
convertita in una stringa Unicode usando il codec per la codifica
predefinita 'strict'
.
Nuovo nella versione 2.0. Modificato nella versione 2.2: Aggiunto il supporto per __unicode__().
[object]) |
[start,] stop[, step]) |
[seq1, ...]) |
None
. Con una sequenza di un singolo
argomento, viene restituita una lista di 1-tupla. Senza argomenti
restituisce una lista vuota.
Nuovo nella versione 2.0.
Modificato nella versione 2.4:
Precedentemente, zip() richiedeva almeno
un argomento e zip()
sollevava un'eccezione
TypeError invece di restituire una lista vuota..