5.1 Tipo bool
In Python c'è un tipo speciale di dati booleani, che ti permette di verificare la verità delle condizioni e delle espressioni. Si indica con la parola chiave bool
(anche se in realtà si chiama Boolean) ed è usato per rappresentare uno dei due valori: True (Vero)
o False (Falso)
.
Questo tipo di dati è estremamente utile in programmazione per governare l'ordine di esecuzione del programma tramite operatori condizionali come if
, else
e elif
, così come per la gestione di cicli e altre strutture di controllo.
Nota importante
Il tipo di dati booleano in Python è rappresentato da due oggetti costanti: True
e False
. Tuttavia, va notato che Python interpreta True
come il valore numerico 1 e False
come 0. Questo permette di usarli in operazioni aritmetiche e fa sì che il tipo bool sia una sottoclasse del tipo int.
Applicazione pratica
Nonostante ci siano solo due valori possibili, il tipo bool
è potente non per i suoi valori, ma per il set di operazioni logiche che si possono compiere su di essi. Di queste parleremo più avanti.
5.2 Operatori logici
Le operazioni logiche in Python giocano un ruolo importante nel controllo dell'ordine di esecuzione del programma e nel prendere decisioni. Le principali operazioni logiche includono and
, or
e not
. Comprendere il loro uso può migliorare significativamente l'efficacia del tuo codice.
Logico E (AND)
L'operatore and
restituisce True
solo se entrambi i suoi argomenti sono veri (True)
. Questo operatore è spesso usato per verificare la verità di più condizioni contemporaneamente.
a = True
b = False
print(a and b) # Mostrerà: False
Logico O (OR)
L'operatore or
restituisce True
se almeno uno dei suoi argomenti è vero. È utile per condizioni in cui il codice deve continuare se almeno una delle molteplici condizioni possibili è soddisfatta.
a = True
b = False
print(a or b) # Mostrerà: True
Logico NON (NOT)
L'operatore not
inverte il valore booleano del suo argomento. Se l'argomento è True
, il risultato sarà False
e viceversa. Questo può essere utile per creare condizioni di rifiuto.
a = True
print(not a) # Mostrerà: False
Uso avanzato
Gli operatori logici sono spesso usati in combinazione per creare espressioni condizionali complesse che aiutano a controllare flussi di esecuzione più complessi.
a = 5
b = 10
c = 20
result = a < b and b < c # Controlla se a è minore di b e b è minore di c
print(result) # Mostrerà: True
Le operazioni logiche in Python forniscono uno strumento potente per governare il comportamento del programma basandosi su varie condizioni. Non solo semplificano la scrittura del codice, ma lo rendono anche più leggibile e manutenibile.
5.3 Esempi pratici
Python permette di convertire altri tipi di dati nel tipo booleano tramite la funzione bool()
. Di default, qualsiasi valore diverso da zero o non vuoto verrà convertito in True
, mentre i valori nulli o vuoti in False
.
Esempi di casting:
print(bool(0)) # Mostrerà False
print(bool(42)) # Mostrerà True
print(bool("")) # Mostrerà False
print(bool("Testo")) # Mostrerà True
Uso di variabili logiche nelle condizioni:
a = 5
b = 10
c = 20
is_a_min = a < b and a < c # Controlla se a è minore di b e a è minore di c
print(is_a_min) # Mostrerà: True
Non c'è bisogno di confrontare una variabile logica con True
o False
, poiché il risultato del confronto sarà già True
o False
.
Esempio:
Codice iniziale | Codice iniziale spostato in una variabile separata | Rimosso == True |
---|---|---|
|
|
|
Il risultato di qualsiasi confronto ha il valore True
o False
, quindi può essere assegnato a una variabile come è stato fatto nell'esempio precedente. Ma in una condizione if
, o in un ciclo while
, non è necessario confrontare la variabile logica con True
.
La variabile logica contiene già il valore corretto. Basta darle il nome giusto e tutto troverà il suo posto.
In altre parole, invece del codice «if a == True
:» devi semplicemente scrivere «if a
:». E invece del codice «if a == False
:» scrivi «if not a
:».
GO TO FULL VERSION