Jämförelse och logiska operatorer i Python

Jämförelse- och Logiska operatorer används i Python för att jämföra värdet mellan variabler och även mellan uttryck. När ett villkor evalueras så resulterar det alltid i ett värde av typen boolean, det vill säga sant eller falskt. Python erbjuder en mängd olika verktyg för att utföra jämförelser och logiska operationer. Förståelse av dessa verktyg är avgörande för att skapa effektiva program.

Jämföra värden i Python

När man programmerar vill man ofta jämföra två variabler. Det kan exempelvis vara jämförelseoperationer som avgör om ett tal är större eller mindre ett annat tal. När man jämför två variabler får man alltid tillbaka värdet Trueeller False, det vill säga, du får tillbaka om operationen är sann eller falsk.

Exempel: Jämföra två variabler i Python

Vi kan enkelt jämföra två variabler:

a = 10
b = 5
print(a > b)

I detta fall blir utskriften Trueeftersom det är sant att variabeln a är större än variabeln b.

På samma sätt får vi i detta fall:

print(b > a)

utskriften False eftersom det är falskt påstående att b är större än a.

Vanligtvis utför man jämförelseoperationer i if-satsen där man vill att någonting ska utföras beroende om ett uttryck är sant eller falskt. På så sätt kan vi skapa villkorsstyrd programmering, så att vissa operationer enbart utförs om vissa krav är uppfyllda (True).

När man jämför två variabler får man alltid tillbaka värdet True, eller False, det vill säga, du får tillbaka om operationen är sann eller falsk.

Vanliga sätt att jämföra variabler

Nedan visas de vanligaste sätten att jämföra två variabler:

JämförelseNotationDatatyp resultatExempel där A = 3, B = 5
Mindre än<booleanA < B = True
Större än>booleanA > B = False
Mindre än eller lika med<=booleanA <= B = True
Större än eller lika med>=booleanA >= B = False
Lika med==booleanA == B = False
Inte lika med!=booleanA != B = True

Vi får alltså tillbaka True eller False beroende på om påståendet är sant eller falskt.

Logiska operatorer i Python

Det finns även logiska operatorer i Python. Med dessa kan vi avgöra om flera påstående är sanna eller falska samtidigt.

OperatorSyntaxBeskrivningExempel där A = True, B = FalseResultat
Ochand eller &Om A och B är sanna (True) samtidigtA and BFalse (eftersom inte både A och B är True)
Elleror eller |Om A eller B är sanna (True)A or BTrue (eftersom en av A eller B är True)
Inteand not eller !=booleanA and not BTrue (eftersom A men inte B är True)

Exempel på logiska jämförelser i Python

Nedan kommer ett par exempel på logiska operationer och vad utskriften blir.

Lika-med-operatorn

Sant om a och b är sanna.

Lika-med-operatorn avgör om två variabler är lika med varandra. Lika-med-operatorn anger man med dubbla “lika-med-tecken” (==).

#1 Exempel: Lika med

a = 3
b = 4
print(a == b)

I detta fall blir utskriften False, eftersom a och b inte har samma värde.

#2 Exempel: Lika med

a = True
b = 1
print(a == b)

Även här blir utskriften True eftersom 1 är det samma sak som True i Python.

#3 Exempel: Lika med

a = False
b = 0
print(a == b)

På motsvarande sätt blir utskriften i detta fall True, eftersom 0 är samma sak som False i Python. False == False är alltså True eftersom vi jämför två variabler med samma värde.

#4 Exempel: Lika med – Obs var vaksam på datatyper!

Observera att om två variabler har olika datatyper så är de inte lika med varandra. Se upp med jämförelser med strings!

a = "True"
b = True
print(a == b)

Utskriften blir False, eftersom textsträngen "True", inte är samma sak som det värdet True. Observera att a är av datatypen string och b är av typen boolean.

Inte-lika-med-operatorn

Sant om a och b inte är sanna.

Inte-lika-med-operatorn avgör om två variabler inte är lika med varandra. Inte-lika-med-operatorn anger man med utropstecken och ett lika-med-tecken (!=).

#5 Exempel: Inte-lika-med

a = 3
b = 4
print(a != b)

Ovanstående kod ger True eftersom variablen a inte är lika med variablen b. Det är alltså motsatsen mot vad lika-med-operatorn ger.

Eller-operatorn

Ger True om a eller b är sanna.

Eller-operatorn kan man använda när man vill jämföra två logiska uttryck. I Python kan man antingen skriva | eller or.

# 6 Exempel: eller-operatorn

a = True
b = False
print(a or b)
# Samma som print(a | b)

Utskriften blir True, eftersom ett av värdena a eller b har värdet True.

Inte-operatorn

Sant om a är falskt

I Python kan man alltid lägga till ett not om man vill ha motsatsen till ett logiskt uttryck

# 7 Exempel: inte-operatorn

a = False
print(not a)

Utskriften blir True, eftersom värdet a inte är True

Vad är skillnaden mellan ‘==’ och ‘=’?

‘==’ är en jämförelseoperator som kontrollerar om två värden är lika, medan ‘=’ används för att tilldela ett värde till en variabel.

Vad är skillnaden mellan ‘and’ och ‘or’?

‘and’ returnerar sant om båda uttrycken är sanna, medan ‘or’ returnerar sant om minst ett av uttrycken är sant.

Hur kan jag kontrollera om ett värde INTE är lika med ett annat värde i Python?

Använd ‘!=’ jämförelseoperatoren.

To top