Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Numeri e operatori logici in Python

Una panoramica sugli operatori supportati su Python: da quelli algebrici a quelli booleani, passando per gli operatori bitwise.
Una panoramica sugli operatori supportati su Python: da quelli algebrici a quelli booleani, passando per gli operatori bitwise.
Link copiato negli appunti

Come abbiamo visto nella lezione precedente, in Python ci sono 4 tipi di dati numerici: interi (int), razionali (float), complessi (complex), e booleani (bool).

Abbiamo anche visto che è possibile usare l'interprete interattivo come una calcolatrice, e come convertire diversi tipi di dato. È inoltre possibile definire numeri interi usando la notazione binaria, ottale, ed esadecimale:

>>> 6 + 4*3
18
>>> 9 / 2       # la divisione tra due numeri interi restituisce un float
4.5
>>> 2j * 2j     # moltiplicazione tra numeri complessi
(-4+0j)
>>> int(10.6)   # conversione esplicita dal tipo float al tipo int
10
>>> float(20)   # conversione esplicita dal tipo int al tipo float
20.0
>>> 0b11111111  # intero in notazione binaria (prefisso 0b)
255
>>> 0o377       # intero in notazione ottale (prefisso 0o)
255
>>> 0xFF        # intero in notazione esadecimale (prefisso 0x)
255

Nota: In Python 2 esistevano due tipi di intero: int e long. In Python 3 questi due tipi sono stati unificati e il tipo int di Python 3 è in grado di rappresentare numeri interi a grandezza arbitraria (così come il tipo long di Python 2).

Operatori Aritmetici

Le operazioni sui tipi numerici sono le più classiche:

Operatore Descrizione Esempi
+ addizione 10 + 1222
sottrazione 5 - 14
* moltiplicazione 10 * 12120
/ divisione 9 / 42.25
// divisione intera 9 // 42
% modulo (resto della divisione) 9 % 41

Nota: In Python 2 la divisione tra due int ritornava un int, in Python 3 ritorna un float. In Python 2 è possibile ottenere lo stesso comportamento di Python 3 aggiungendo all'inizio del programma la riga from __future__ import division.

Operatori di Confronto

Python supporta anche operatori di confronto, che restituiscono True o False:

Operatore Descrizione Esempi
== uguale a 8 == 8True
3 == 5False
!= diverso da 3 != 5True
8 != 8False
< minore di 3 < 5True
5 < 3False
<= minore o uguale a 3 <= 5True
8 <= 8True
> maggiore di 5 > 3True
3 > 5False
>= maggiore o uguale a 5 >= 3True
8 >= 8True

Operatori Booleani

In Python esistono anche gli operatori booleani and, or, e not:

Operatore Descrizione
and Ritorna True se entrambi gli operandi sono veri, altrimenti False
or Ritorna True se almeno uno degli operandi è vero, altrimenti False
not Ritorna False se l'operando è vero, True se l'operando è falso

In Python ogni oggetto è o vero (numeri diversi da 0, la costante True, o contenitori che contengono almeno un elemento) o falso (ovvero il numero 0, le costanti False e None, contenitori vuoti). È possibile verificare se un oggetto è vero o falso usando bool(oggetto).

Così come avviene in altri linguaggi di programmazione, anche in Python gli operatori and e or funzionano in modo che, se il primo operando è sufficiente a determinare il risultato, il secondo non viene valutato. Inoltre, entrambi gli operatori ritornano sempre uno dei due operandi.

Operatori Binari

Esistono poi gli operatori binari (o bitwise) che permettono di lavorare al livello dei singoli bit e sono utili in particolari circostanze:

Operatore Descrizione
x << n esegue uno shift a sinistra di n posizioni dei bit di x
x >> n esegue uno shift a destra di n posizioni dei bit di x
x & y esegue un and tra i bit di x e di y
x | y esegue un or tra i bit di x e di y
x ^ y esegue un or esclusivo tra i bit di x e di y
~x inverte i bit di x

Ti consigliamo anche