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:

  • relationsoperatorer för jämförelser av värden och

  • logiska operatorer som utför de logiska operationerna not, and och or.

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:

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