CodeGym /Corso Java /Python SELF IT /Uso del tipo booleano

Uso del tipo booleano

Python SELF IT
Livello 5 , Lezione 5
Disponibile

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

if a < b:
    print("a è min")

                    is_a_less = a < b
                    if is_a_less == True:
                        print("a è min")              
                

                    is_a_less = a < b
                    if is_a_less:
                        print("a è min")               
                

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:».

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION