5.10 Operazioni booleane

Le operazioni booleane hanno la priorità più bassa rispetto a tutte le operazioni di Python:

Potete scaricare il file originale (in Inglese) come testo.

Nel contesto delle operazioni booleane, ed anche quando le espressioni vengono usate dal flusso di controllo delle istruzioni, i seguenti valori vengono interpretati come falso: None, il numero zero in tutti i tipi, sequenze vuote (stringhe, tuple e liste) e mappe vuote (dizionari). Tutti gli altri valori vengono interpretati come vero.

Gli operatori not producono True se il proprio argomento è falso, altrimenti producono False.

L'espressione x and y valuta prima x; se x è falso viene restituito il suo valore; altrimenti viene valutata y e viene restituito il valore risultante.

L'espressione x or y valuta prima x; se x è vero viene restituito il suo valore; altrimenti viene valutato y e viene restituito il valore risultante.

(Da notare che né and e né or limitano il valore e il tipo che restituiscono come False o True, ma piuttosto restituiscono l'ultimo argomento valutato. Questo è utile in certe occasioni, per esempio se s è una stringa che dovrebbe essere sostituita con un valore predefinito se vuota, l'espressione s or 'foo' produce il valore desiderato. Dato che not non inventa comunque un valore, la restituzione di un valore dello stesso tipo del proprio argomento non confonde, così per esempio, not 'foo' produce False, non ''.)

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.