LÄR DIG PYTHON

Jämförelse och logiska operatorer i Python

Jämförelseoperatorer används för att jämföra värden. Med logiska operatorer kan du kombinera villkor till större uttryck.

Jämförelseoperatorer

För de inbyggda taltyperna ger jämförelser ett booleskt värde: True eller False.

OperatorBetydelseExempel
==lika med3 == 5 → False
!=inte lika med3 != 5 → True
<mindre än3 < 5 → True
>större än3 > 5 → False
<=mindre än eller lika med3 <= 5 → True
>=större än eller lika med3 >= 5 → False

= tilldelar ett värde. == jämför två värden.

a = 3
b = 5
print(a < b)   # True
print(a == b)  # False
print(a != b)  # True

and, or och not

  • and: båda villkoren måste vara sanna.
  • or: minst ett villkor måste vara sant.
  • not: vänder sanningsvärdet.
a = True
b = False
print(a and b)      # False
print(a or b)       # True
print(not a)        # False
print(a and not b)  # True

not har högre prioritet än and, som har högre prioritet än or. Använd parenteser för att göra avsikten tydlig.

Kombinera villkor

age = 20
has_ticket = True

if age >= 18 and has_ticket:
    print("Välkommen in!")

Operatorerna and och or kortsluter: Python utvärderar bara den högra delen om den behövs. Utanför rena booleska uttryck returnerar de en av operanderna, inte alltid ett booleskt värde.

name = ""
print(name or "Gäst")  # Gäst

& och | är bitvisa operatorer och är inte generella ersättare för and och or. NumPy använder dem också för elementvisa operationer på arrayer.

Jämförelser mellan datatyper

Olika typer kan ibland vara lika: 1 == 1.0 och True == 1 ger True. Däremot ger "1" == 1 False. Vissa ordningsjämförelser, som "1" < 1, ger TypeError. Jämför därför värden med avsedd datatyp.