Codice sorgente: Lib/operator.py
Il modulooperator esporta un insieme di funzioni efficienti corrispondenti agli operatori intrinseci di Python. Ad esempio, operator.add(x, y) èequivalente all’espressione x+y. Molti nomi di funzioni sono quelli usati permetodi speciali, senza i doppi caratteri di sottolineatura. Per compatibilità con le versioni precedenti,molti di questi hanno una variante con i doppi caratteri di sottolineatura mantenuti., I variantswithout i doppi caratteri di sottolineatura sono preferiti per chiarezza.
Le funzioni rientrano in categorie che eseguono confronti di oggetti, operazioni logiche, operazioni matematiche e operazioni di sequenza., id=”84ef065d38″>__ne__(a, b)¶ operator.__ge__(a, b)¶ operator.__gt__(a, b)¶
The logical operations are also generally applicable to all objects, and supporttruth tests, identity tests, and boolean operations:
operator.not_(obj)¶operator.__not__(obj)¶operator.truth(obj)¶
Return True if obj is true, and False otherwise., This isequivalent to using the bool constructor.
operator.is_(a, b)¶
Return a is b. Tests object identity.
operator.is_not(a, b)¶
Return a is not b. Tests object identity.
The mathematical and bitwise operations are the most numerous:
operator.abs(obj)¶operator.__abs__(obj)¶
Return the absolute value of obj.,
operator.add(a, b)¶operator.__add__(a, b)¶
Return a + b, for a and b numbers.
operator.and_(a, b)¶operator.__and__(a, b)¶
Return the bitwise and of a and b.
operator.floordiv(a, b)¶operator.__floordiv__(a, b)¶
Return a // b.,
operator.index(a)¶operator.__index__(a)¶
Return a converted to an integer. Equivalent to a.__index__().
operator.inv(obj)¶operator.invert(obj)¶operator.__inv__(obj)¶operator.__invert__(obj)¶
Return the bitwise inverse of the number obj. This is equivalent to ~obj.,
operator.lshift(a, b)¶operator.__lshift__(a, b)¶
Return a shifted left by b.
operator.mod(a, b)¶operator.__mod__(a, b)¶
Return a % b.
operator.mul(a, b)¶operator.__mul__(a, b)¶
Return a * b, for a and b numbers.,
operator.matmul(a, b)¶operator.__matmul__(a, b)¶
Return a @ b.
New in version 3.5.
operator.neg(obj)¶operator.__neg__(obj)¶
Return obj negated (-obj).
operator.or_(a, b)¶operator.__or__(a, b)¶
Return the bitwise or of a and b.,
operator.pos(obj)¶operator.__pos__(obj)¶
Return obj positive (+obj).
operator.pow(a, b)¶operator.__pow__(a, b)¶
Return a ** b, for a and b numbers.
operator.rshift(a, b)¶operator.__rshift__(a, b)¶
Return a shifted right by b.,
operator.sub(a, b)¶
operator.__sub__(a, b)¶
Return a - b.
operator.truediv(a, b)¶operator.__truediv__(a, b)¶
Return a / b where 2/3 is .66 rather than 0. This is also known as”true” division.
operator.xor(a, b)¶operator.__xor__(a, b)¶
Return the bitwise exclusive or of a and b.,
Operazioni di lavorare con sequenze (alcuni di loro con le mappature troppo) includono:
operator.concat(a, b)¶operator.__concat__(a, b)¶
Invio a + b per a e b sequenze.
operator.contains(a, b)¶operator.__contains__(a, b)¶
restituisce l’esito del test b in a. Notare gli operandi invertiti.,
operator.countOf(a, b)¶
restituisce il numero di occorrenze di b in a.
operator.delitem(a, b)¶operator.__delitem__(a, b)¶
Rimuovere il valore di un indice. b.
operator.getitem(a, b)¶operator.__getitem__(a, b)¶
Ritorna il valore di un indice. b.
operator.indexOf(a, b)¶
ritorna l’indice della prima occorrenza di b in a.,
operator.setitem(a, b, c)¶operator.__setitem__(a, b, c)¶
Impostare il valore di un indice a b c.
operator.length_hint(obj, default=0)¶
il Ritorno di una durata stimata per l’oggetto o. Prima di provare a tornare itsactual lunghezza, quindi una stima object.__length_hint__(), andfinally restituire il valore di default.
Nuovo nella versione 3.4.
Il operator modulo definisce anche strumenti per attributo generalizzato e itemlookups., Questi sono utili per creare estrattori di campo veloci come argomenti permap(),sorted(),itertools.groupby(), o altre funzioni che si aspettano un argomento di funzione.
operator.attrgetter(attr)¶operator.attrgetter(*attrs)
Restituisce un oggetto richiamabile che recupera attr dal suo operando.Se viene richiesto più di un attributo, restituisce una tupla di attributi.I nomi degli attributi possono anche contenere punti., Per esempio:
Equivalente a:
operator.itemgetter(voce)¶operator.itemgetter(*elementi)
Ritorna un oggetto callable che recupera voce dalla operando utilizzando theoperand s __getitem__() metodo. Se vengono specificati più elementi, restituisce una tupla di valori di ricerca. Ad esempio:
-
Dopo
f = itemgetter(2), la chiamataf(r)restituiscer., -
Dopo
g = itemgetter(2, 5, 3), la chiamatag(r)restituisce(r, r, r).
Equivalente a:
Gli elementi possono essere di qualsiasi tipo accettati dal metodo __getitem__() dell’operando. I dizionari accettano qualsiasi valore hashable., Liste, tuple, estringhe accettare un indice o una fetta:
>>> soldier = dict(rank='captain', name='dotterbart')>>> itemgetter('rank')(soldier)'captain'
Esempio di utilizzo del tag itemgetter() per recuperare specifici campi da atuple record:
operator.methodcaller(nome, /, *args, **kwargs)¶
Ritorna un oggetto callable che chiama il nome di metodo sul suo operando. Se vengono forniti argomenti aggiuntivi e/o argomenti di parole chiave, verranno forniti anche al metodo. Ad esempio:
-
Dopo
f = methodcaller('name'), la chiamataf(b)restituisceb.name()., -
After
f = methodcaller('name', 'foo', bar=1), the callf(b)returnsb.name('foo', bar=1).
Equivalent to:
def methodcaller(name, /, *args, **kwargs): def caller(obj): return getattr(obj, name)(*args, **kwargs) return caller