In Python gli operatori sono dei costrutti  che ci permettono di eseguire delle operazioni logiche o aritmetiche.

I valori su cui operano gli operatori vengono detti operandi.

Prendiamo come esempio questa operazione: 10 - 5 = 5. In questo caso - è l'operatore, mentre 10 e 5 sono gli operandi.

Tipi di operatori

Non esistono solamente gli operatori aritmetici, bensì in python sono presenti ben 7 differenti tipi di operatori:

  • Operatori aritmetici;
  • Operatori di comparazione;
  • Operatori logici;
  • Operatori di assegnazione;
  • Operatori di membership;
  • Operatori bitwise;
  • Operatori di identità.

Operatori aritmetici

Gli operatori aritmetici vengono utilizzati per eseguire calcoli matematici come sottrazione, moltiplicazione, divisione, somma etc.

Prendiamo ad esempio che x = 10 e y = 5.

Operatore Significato Esempio

+

somma gli operandi indicati x + y = 15
- sottrae gli operandi indicati x - y = 5
/ divide l'operando di sinistra con quello di destra ritornando un float x / y = 2
* moltiplica gli operandi indicati x * y = 50
** eleva alla potenza l'operando indicato x ** y = 10 alla potenza di 5.
//

divisione dove al quoziente vengono eliminate le cifre dopo la virgola.

Se uno degli operandi è negativo, il quoziente è arrotondato per difetto.

x // y = 2,

10.5 // 5.0 = 2.0,

-10.5 // 5.0 = -3.0

% ritorna il resto di una divisione % y = 0


Operatori di comparazione

Gli operatori di comparazione vengono utilizzati per confrontare più operandi e determinare la relazione che c'è tra essi, perciò questi operatori vengono detti anche operatori di relazione.

Prendiamo ad esempio che x = 10 e y = 5.

Operatore Significato Esempio

<

ritorna il valore True se l'operando sinistro è minore di quello destro.

x < 20

True

> ritorna il valore True se l'operando sinistro è maggiore di quello destro.

x > 11  

False

!= ritorna il valore True se i due operandi sono diversi tra loro.

x != y

True

== ritorna il valore True se i due operando sono uguali tra loro.

x == y

False

<= ritorna il valore True se l'operando sinistro è minore o uguale a quello destro.

x <= 10

True

>= ritorna il valore True se l'operando sinistro è maggiore o uguale a quello destro.

y >= 5

True


Operatori logici

Gli operatori logici vengono utilizzati principalmente per combinare più condizioni, possiamo usare come esempio gli operatori di comparazione appena visti:

Prendiamo ad esempio che x = 10.

Operatore Significato Esempio

and

ritorna il valore True se tutte le condizioni indicate sono vere.

x > 9 and x < 11

True.

or ritorna il valore True se almeno una delle condizioni indicate è vera.

x > 5 or x < 9

True.

not inverte il risultato atteso: se sarebbe True diventa False.

not x > 5

False.


Operatori di assegnazione

Abbiamo utilizzato un operatore di assegnazione già nella parte precedente riguardo le variabili, ovvero il =.

Questi operatori ci permettono, come avrai intuito, di assegnare dei valori alle variabili.

Operatore Significato Esempio

=

assegna all'operando di sinistra il valore dell'operando di destra. x = 5
+= assegna all'operando di sinistra la somma tra esso e l'operando di destra. x += y
-= assegna all'operando di sinistra la differenza tra esso e l'operando di destra. x -= y
*= assegna all'operando di sinistra la moltiplicazione tra esso e l'operando di destra. x *= y
/= assegna all'operando di sinistra la divisione tra esso e l'operando di destra. x /= y
//= assegna all'operando di sinitra la divisione arrotondata tra esso e l'operando di destra x //= y
%= assegna all'operando di sinistra il resto ottenuto dividendo esso per l'operando di destra x %= y
**= assegna all'operando di sinistra il numero avente esso per base e l'operando di destra come esponente x **= y

Tranne il primo operatore di assegnazione indicato, tutti gli altri risultati possono essere ottenuti in un altro modo:

  • x += y è equivalente a x = x + y;
  • x -= y è equivalente a x = x - y.

e così via.

Operatori di membership

Gli operatori di membership vengono utilizzati per verificare se un valore è presente all'interno di una sequenza come una lista, una stringa, una tupla o un dizionario.

Prendiamo per esempio di avere una stringa x = "ciao".

Operatore Significato Esempio

in

ritorna il valore True se l'operando di sinistra è presente nella sequenza indicata

"a" in x

True.

not in ritorna il valore True  se l'operando di sinistra non è presente nella sequenza indicata

"o" not in x

False.


Operatori di identità

Gli operatori di identità vengono usati per verificare se due operandi sono uguali(se si riferiscono allo stesso oggetto), ovvero se puntano alla stessa locazione di memoria.

Nota bene: il fatto che i due operandi abbiano lo stesso valore non implica che essi siano uguali.

Operatore Significato Esempio

is

ritorna il valore True se i due operandi sono uguali. x is True
is not ritorna il valore True  se i due operandi non sono uguali(non si riferiscono allo stesso oggetto). x is not False


Operatori bitwise

Gli operatori bitwise servono per confrontare i valori binari degli operandi e operano bit per bit.

Prendiamo per esempio x = 4 (0000 0100 in binario) e y = 2 (0000 0010 in binario).

Operatore Significato Esempio

&

confronta bit per bit dei due operandi e assegna 1 al risultato finale

quando entrambi sono a 1 (bitwise and).

x & y = 0

(0000 0000)

|

confronta bit per bit dei due operandi e assegna 1 al risultato finale

quando almeno uno dei due bit a confronto è a 1 (bitwise or).

x | y = 6

(0000 0110)

~ operatore unario che inverte i valori binari (bitwise not).

~x = -5 

(1111 1011)

^

confronta bit per bit dei due operandi e assegna 1 al risultato finale

quando solo uno dei due bit a confronto è a 1 (bitwise xor).

x ^ y = 6

(0000 0110)

<< vengono spostati(shiftati) i bit verso sinistra in base al numero indicato.

x << 3 = 32 

(0010 0000)

>> vengono spostati(shiftati) i bit verso destra in base al numero indicato.

x >> 2 = 1

(0000 0001)


Conclusione

Bene, siamo giunti al termine anche di questa terza parte, spero di esserti stato utile.

Ti invito a commentare qua sotto 👇, a seguirmi su instagram e di iscriverti alla mia newsletter per rimanere sempre aggiornato sulle news di questo blog, alla prossima!


Condividi sui Social