lettura facile

Le espressioni logiche or e and in Python

In Python le espressioni logiche con gli operatori or e and non restituiscono semplicemente valori booleani (True o False), ma restituiscono effettivamente uno degli oggetti coinvolti nell'espressione. In questo tutorial ti spiego come funzionano.

Espressioni logiche con or

L'operazione logica or tra due o più oggetti in Python restituisce il primo oggetto valutato come True, altrimenti l'ultimo oggetto valutato come False.

Ad esempio, digita questa espressione

"" or [] or 0 or ()

Tutti gli oggetti sono False o equivalenti a False.

Ricorda che in Python sono False lo zero e tutti gli oggetti di tipo sequenza vuoti (liste, tuple, stringhe, ecc. ). Sono invece considerati True tutti i numeri diversi da zero e tutti gli oggetti di tipo sequenza con almeno un elemento.

Quindi, Python restituisce l'ultimo oggetto dell'espressione ossia ()

()

Ora digita questa espressione

"" or [] or (1,2,3) or 1

In questo caso ci sono due termini equivalenti al valore booleano True, ossia la lista (1,2,3) e il numero 1.

Quindi, Python restituisce il primo che trova

(1,2,3)

E per avere un valore booleano come risultato?

Per avere un valore booleano come risultato, devi indicare l'intera espressione come argomento della funzione bool()

bool("" or [] or (1,2,3) or 1))

La funzione bool() converte il risultato in un valore booleano e restituisce True

True

Espressioni logiche con and

L'operazione and restituisce il primo oggetto valutato come False. Se tutti gli oggetti sono valutati come True, allora viene restituito l'ultimo oggetto dell'espressione. .

Ad esempio, digita questa espressione

"123" and [] and 0 and (1,2,3)

Python restituisce il primo oggetto False che trova ossia []

[]

Ora digita quest'altra espressione con tutti gli oggetti True

"123" and True and 1 and (1,2,3)

Python restituisce l'ultimo oggetto True dell'espressione, ossia (1,2,3)

(1,2,3)

Anche in questo caso, se vuoi avere un valore booleano in uscita devi racchiudere l'espressione nella funzione bool()

bool("123" and True and 1 and (1,2,3))

In questo modo ottieni in uscita il valore booleano True anziché il valore (1,2,3).

True

 

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin