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.
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 True, eller False, det vill säga, du får tillbaka om operationen är sann eller falsk.
Vi kan enkelt jämföra två variabler:
a = 10 b = 5 print(a > b)
I detta fall blir utskriften True, eftersom 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).
Nedan visas de vanligaste sätten att jämföra två variabler:
Jämförelse | Notation | Datatyp resultat | Exempel där A = 3, B = 5 |
---|---|---|---|
Mindre än | < | boolean | A < B = True |
Större än | > | boolean | A > B = False |
Mindre än eller lika med | <= | boolean | A <= B = True |
Större än eller lika med | >= | boolean | A >= B = False |
Lika med | == | boolean | A == B = False |
Vi får alltså tillbaka True eller False beroende på om påståendet är sant eller falskt.
Det finns även logiska operatorer i Python. Med dessa kan vi avgöra om flera påstående är sanna eller falska samtidigt.
Operator | Syntax | Beskrivning | Exempel där A = True, B = False | Resultat |
---|---|---|---|---|
Och | and | Om A och B är sanna (True) samtidigt | A and B | False (eftersom inte både A och B är True) |
Eller | or | Om A eller B är sanna (True) | A or B | True (eftersom en av A eller B är True) |
Inte | and not | boolean | A and not B | True (eftersom A men inte B är True) |
Nedan kommer ett par exempel på logiska operationer och vad utskriften blir.
Sant om a och b är sanna.
a = 3 b = 4 print(a == b)
I detta fall blir utskriften False, eftersom a och b inte har samma värde.
a = True b = 1 print(a == b)
Även här blir utskriften True eftersom 1 är det samma sak som True i Python.
a = False b = 0 print(a == b)
Och 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.
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 värdet True. Observera att a är av datatypen string och b är av typen boolean.
Vi får Sant om a eller b är sanna.
a = True b = False print(a | b)
Utskriften blir True, eftersom ett av värdena a eller b har värdet True.
Sant om a är falskt
a = False print(not a)
Utskriften blir True, eftersom värdet a inte är True