Gli operatori non sono un’esclusiva di Python, in generale tutti i linguaggi di programmazione e sviluppo dispongono di questi costrutti sintattici; è possibile definirli come dei simboli attraverso i quali specificare quale regola dovrà essere applicata a degli operandi per l’ottenimento di uno determinato risultato.
Gli operatori possono, per esempio, determinare un’assegnazione, ne sono stati descritti alcuni di questo tipo nei capitoli precedenti, consentono di effettuare operazioni matematiche a carico degli operandi (e anche in questo caso sono stati già presentati degli esempi), permettono di effettuare dei confronti tra valori e consentono di incrementare o effettuare decrementi a carico di questi ultimi; tutto dipende dal simbolo utilizzato, dalla tipologia degli operandi impiegati e da alcune regole sintattiche.
Operatori di confronto
Gli operatori di confronto producono un risultato sulla base di una comparazione tra operandi; i principali operatori di confronto di Python sono.
Op. | Descrizione | Esemipo |
---|---|---|
== | Se il valore dei due operandi è il medesimo il confronto restituisce TRUE, altrimenti FALSE. | (3 == 2) restituisce FALSE |
!= | Se il valore dei due operandi non è uguale il confronto restituisce TRUE, altrimenti FALSE. | (3 != 2) restituisce TRUE |
<> | Se il valore dei due operandi non è uguale il confronto restituisce TRUE, altrimenti FALSE. Come per l’operatore precedente | (3 <> 2) restituisce TRUE |
> | Se il valore alla sinistra del simbolo è maggiore di quello alla sua destra restituisce TRUE, altrimenti FALSE. | (2 > 10) restituisce FALSE |
< | Se il valore alla sinistra del simbolo è inferiore a quello alla sua destra restituisce TRUE, altrimenti FALSE | (2 < 10) restituisce TRUE |
>= | Se il valore alla sinistra dei simboli è maggiore o uguale a quello alla sua destra restituisce TRUE, altrimenti FALSE. | (3 >= 5) restituisce FALSE |
<= | Se il valore alla sinistra dei simboli è minore o uguale a quello alla sua destra restituisce TRUE, altrimenti FALSE. | (3 <= 5) restituisce TRUE |
Gli operatori aritmetici
Gli operatori aritmetici consentono di effettuare calcoli matematici tramite gli operandi; per quanto riguarda questa tipologia in Python abbiamo a disposizione i seguenti operatori:
Op. | Descrizione | Esempio |
---|---|---|
+ | L’operatore di addizione somma i valori degli operandi. | 3 + 2 = 5 |
– | L’operatore di sottrazione decrementa l’operando alla sinistra del simbolo di un valore pari a quello dell’operando alla destra di quest’ultimo. | 3 ‐ 2 = 1 |
* | L’operatore di moltiplicazione moltiplica l’operando alla sinistra del simbolo un numero di volte pari al valore dell’operando posto alla sua destra. | 3 * 2 = 6 |
/ | L’operatore di divisione divide l’operando alla sinistra del simbolo sulla base del valore associato all’operando posto alla sua destra. | 4 / 2 = 2 |
% | L’operatore modulo restituisce il resto di una divisione. | 5 % 2 = 1 |
** | L’operatore esponente eleva a potenza l’operando alla sinistra del simbolo un numero di volte pari al valore dell’operando posto alla sua destra. | 8**2 = 64 |
// | L’operatore di arrotondamento restituisce il risultato di una divisione arrotondandolo al valore intero più prossimo a quello reale. | 8 // 3 = 2 oppure 9.5 // 2 = 4.0 |
Gli operatori di assegnazione
Gli operatori di assegnazione permettono non solo di attribuire dei valori, ma anche di specificare le modalità di tale attribuzione; dato che essi trovano ampio utilizzo quando si opera con le variabili, nella tabella seguente ne verranno utilizzate due come riferimento, "x" ed "y", inizialmente assegnate ai valori "1" e "2":
Op. | Descrizione | Esempio |
---|---|---|
= | Assegna il valore dell’operando alla sinistra del simbolo a quello alla sua destra | z = x + y per cui il valore di z sarà pari a 3 |
+= | Aggiunge l’operando di destra a quello di sinistra e assegna il risultato a quest’ultimo. | z += x equivale a z = z + x |
-= | Sottrae l’operando di destra a quello di sinistra e assegna il risultato a quest’ultimo. | z -= x equivale a z = z – x |
*= | Moltiplica l’operando di destra per quello di sinistra e assegna il risultato a quest’ultimo. | z *= x equivale a z = z * x |
/= | divide l’operando di sinistra per il valore di quello di destra e assegna il risultato al primo operando. | z /= x equivale a z = z / x |
%= | Calcola il resto dei due operatori e assegna il risultato all’operando di sinistra. | z %= x equivale a z = z % x |
**= | Calcola un’elevazione a potenza e assegna il risultato all’operatorendo di sinistra. | z **= x equivale a z = z ** x |
//= | Restituisce l’arrotondamento di una divisione tra gli operatori e assegna il risultato all’operatorendo di sinistra. | z //= x equivale a z = z // x |
Operatori Logici
Gli operatori logici sono dei costrutti sintattici utili al fine di legare due o più condizioni tra di loro, dove per condizione si intende una qualunque affermazione che può essere vera o falsa; si ipotizzi per esempio di avere una variabile "x" assegnata al valore TRUE e un’altra, "y", assegnata al valore FALSE:
Op. | Descrizione | Esempio |
---|---|---|
and | Restituisce TRUE se entrambi gli operatori sono TRUE. | x and y restituisce FALSE |
or | Restituisce TRUE se almeno uno dei due operatori è TRUE. | x or y restituisce TRUE |
not | Restituisce TRUE se l’operando è FALSE. | not y restituisce TRUE |
Operatori di membership
Gli operatori di membership potranno essere utilizzati per verificare se un determinato elemento fa parte o meno di un insieme, ad esempio una sequenza alfanumerica:
Op. | Descrizione | Esempio |
---|---|---|
in | Restituisce TRUE se un valore è presente all’interno di un insime. | Se x = "Ciao mondo" allora print("C" in x) restituisce TRUE |
not in | Restituisce TRUE se un valore non è presente all’interno di un insime. | Se x = "Ciao mondo" allora print("Z" not in x) restituisce TRUE |
Operatori di identità
Gli operatori di identità vengono utilizzati per verificare se due valori sono stati archiviati nella stessa porzione di memoria; si tenga conto del fatto che per Python due valori "uguali" non sono necessariamente anche "identici":
Op. | Descrizione | Esempio |
---|---|---|
is | Restituisce TRUE se gli operandi fanno riferimento al medesimo oggetto. | Se x = "ciao" e y = "ciao" allora print(x is y) restituisce TRUE perché uguali per valore e identici per tipo di dato |
is not | Restituisce TRUE se gli operandi non fanno riferimento al medesimo oggetto | Se x = 3 e y = 3 allora print(x is not y) restituisce FALSE |