Logiska uttryck - typen bool

Ett logiskt uttryck är ett uttryck vars värde är True eller False Denna typ kallas för bool. Sådan värden används typiskt i if- och while-satser men förekommer bland annat även i tilldelningssatser.

Exempel:

age = ... teenager = age > 12 and age <= 19
som sätter teenager till True om age har ett värde i intervallet från 13 till 19.

Det finns operatorer som returnerar logiska värden:

Relationsoperatorerna är:

<   mindre än
<= mindre än eller lika med
== lika med
>= större än eller lika med
> större än
!= skiljt från

De logiska operatorerna är:

not   logiskt icke
and logiskt och
or logiskt eller

Relationsoperatorerna har högre prioritet än de logiska operatorerna och av de logiska har not (icke) högst och or (eller) lägst.
Beräkningsordningen kan styras med med parenteser.
Exempel:

male = ... # True eller False gubbe = male and age >= 50 gumma = not male and age >= 50 x = not (male and age >= 50) # Vilka personer uppfyller detta?

Att alla värden kan tolkas logiskt kan ställa till problem. Om man t.ex. vill veta att x är större än både a och b kan man alltså inte skriva

if x > a and b : FEL
utan måste skrivas
if x > a and x > b:

Python tillåter, till skillnad från många andra programmeringsspråk, att man skriver relationsuttryck på formen

teenager = 12 < age <= 19

Valid CSS!