Python Operatori

Da Andreabont's Wiki.

Il python è possibibile definire il comportamento di un oggetto sotto gli operatori classici del linguaggio, tramite la definizione di metodi particolari. Per una spiegazione più dettagliata seguire qui.

Operatori unari

QUesti sono operatori applicabili ad un solo oggetto.

Operatore Metodo Descrizione
- object.__neg__(self) Implementa il comportamento per -var
+ object.__pos__(self) Implementa il comportamento per +var
abs() object.__abs__(self) Implementa il comportamento per il valore assoluto
~ object.__invert__(self) Implementa il comportamento per la negazione
complex() object.__complex__(self) Implementa il cast verso i numeri complessi
int() object.__int__(self) Implementa il cast verso i numeri interi
long() object.__long__(self) Implementa il cast verso i numeri long
float() object.__float__(self) Implementa il cast verso i numeri float
oct() object.__oct__(self) Implementa il cast verso i numeri ottali
hex() object.__hex__(self) Implementa il cast verso i numeri esadecimali

Operatori binari

Operatori aritmetici

Operatore Metodo Descrizione
+ object.__add__(self, other) Implementa addizione
- object.__sub__(self, other) Implementa sottrazione
* object.__mul__(self, other) Implementa moltiplicazione
// object.__floordiv__(self, other) Implementa divisione intera
/ object.__div__(self, other)
object.__truediv__(self, other)
Implementa divisione (Opzione per divisione reale)
 % object.__mod__(self, other) Implementa modulo di resto
** object.__pow__(self, other[, modulo]) Implementa l'elevamento a potenza
<< object.__lshift__(self, other) Implementa lo shift binario a sinistra
>> object.__rshift__(self, other) Implementa lo shift binario a destra
& object.__and__(self, other) Implementa l'and binario
^ object.__xor__(self, other) Implementa lo xor binario
| object.__or__(self, other) Implementa l'or binario

Operatori di comparazione

Operatore Metodo Descrizione
< object.__lt__(self, other) Implementa "minore di"
<= object.__le__(self, other) Implementa "mionore o uguale di"
== object.__eq__(self, other) Implementa "uguale a"
 != object.__ne__(self, other) Implementa "diverso da"
>= object.__ge__(self, other) Implementa "maggiore o uguale di"
> object.__gt__(self, other) Implementa "maggiore di"

Operatori di assegamento

Operatore Metodo Descrizione
+= object.__iadd__(self, other) Assegna nuovo valore risultante dalla somma con l'altro termine
-= object.__isub__(self, other) Assenga nuovo valore risultante dalla sottrazione con l'altro termine
*= object.__imul__(self, other) Assegna nuovo valore risultante dalla moltiplicazione con l'altro termine
/= object.__idiv__(self, other) Assegna nuovo valore risultante dalla divisione con l'altro termine
//= object.__ifloordiv__(self, other) Assegna nuovo valore risultante dalla divisione intera con l'altro termine
 %= object.__imod__(self, other) Assegna nuovo valore risultante dall resto della divisione con l'altro termine
**= object.__ipow__(self, other[, modulo]) Assegna nuovo valore risultante dalla elevazione a potenza con l'altro termine
<<= object.__ilshift__(self, other)
>>= object.__irshift__(self, other)
&= object.__iand__(self, other)
^= object.__ixor__(self, other)
|= object.__ior__(self, other)