Jämförelseoperatorer
Jämförelser gör det möjligt för ditt program att ställa ja/nej-frågor om värden:
- Är dessa lika?
 - Är detta större?
 - Ligger detta tal inom ett intervall?
 
En jämförelse returnerar ett booleskt värde (True eller False) och utgör grunden för if/while-logik.
Det grundläggande
Python tillhandahåller sex jämförelseoperatorer (==, !=, <, <=, >, >=) för att testa likhet och ordning mellan värden; varje jämförelse utvärderas till True eller False.
Likhet — ==
Kontrollerar om två värden är lika.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= tilldelar ett värde till en variabel, medan == jämför två värden.
Olikhet — !=
Kontrollerar om två värden är olika.
12print(5 != 3) # True print("cat" != "cat") # False
Större än — >
Sant om värdet till vänster är strikt större än värdet till höger.
12print(7 > 9) # False print(12 > 3) # True
Mindre än — <
Sant om värdet till vänster är strikt mindre än värdet till höger.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Större än eller lika med — >=
Sant om värdet till vänster är större eller lika med värdet till höger.
12print(7 >= 7) # True print(4 >= 9) # False
Mindre än eller lika med — <=
Sant om värdet till vänster är mindre eller lika med värdet till höger.
12print(10 <= 9) # False print(5 <= 5) # True
Kedjade jämförelser
Python möjliggör naturlig skrivning av intervall:
0 < x < 10 betyder "x är större än 0 och mindre än 10".
I bakgrunden fungerar det som (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Detta är lättläst och undviker upprepning av x.
Flyttalsnyans (små avrundningsfel)
Vissa decimaltal (som 0.1) kan inte representeras exakt i binärt format. Därför kan strikt likhet på flyttal ge oväntade resultat.
1print(0.1 + 0.2 == 0.3) # False in many environments
Vid jämförelse av flyttal för "likhet", föredra en toleranskontroll.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Du anger inte "exakt lika", utan "tillräckligt nära".
Jämföra strängar (skiftläge och ordning)
Strängjämförelser är skiftlägeskänsliga och lexikografiska (tecken för tecken i Unicode-ordning).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
För skiftlägesokänsliga jämförelser, normalisera båda sidor först.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Fyll i luckorna med True eller False:
2. Vilket enda uttryck kontrollerar korrekt att x är mellan 1 och 5 inklusive (med kedjning)?
3. Vilken strängjämförelse är True?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain more about how chained comparisons work in Python?
What are some common pitfalls when comparing floating-point numbers?
How do I perform a case-insensitive string comparison in Python?
Awesome!
Completion rate improved to 5
Jämförelseoperatorer
Svep för att visa menyn
Jämförelser gör det möjligt för ditt program att ställa ja/nej-frågor om värden:
- Är dessa lika?
 - Är detta större?
 - Ligger detta tal inom ett intervall?
 
En jämförelse returnerar ett booleskt värde (True eller False) och utgör grunden för if/while-logik.
Det grundläggande
Python tillhandahåller sex jämförelseoperatorer (==, !=, <, <=, >, >=) för att testa likhet och ordning mellan värden; varje jämförelse utvärderas till True eller False.
Likhet — ==
Kontrollerar om två värden är lika.
12print(5 == 5) # True print("apple" == "Apple") # False (case matters)
= tilldelar ett värde till en variabel, medan == jämför två värden.
Olikhet — !=
Kontrollerar om två värden är olika.
12print(5 != 3) # True print("cat" != "cat") # False
Större än — >
Sant om värdet till vänster är strikt större än värdet till höger.
12print(7 > 9) # False print(12 > 3) # True
Mindre än — <
Sant om värdet till vänster är strikt mindre än värdet till höger.
12print(2 < 10) # True print("a" < "b") # True (lexicographic order)
Större än eller lika med — >=
Sant om värdet till vänster är större eller lika med värdet till höger.
12print(7 >= 7) # True print(4 >= 9) # False
Mindre än eller lika med — <=
Sant om värdet till vänster är mindre eller lika med värdet till höger.
12print(10 <= 9) # False print(5 <= 5) # True
Kedjade jämförelser
Python möjliggör naturlig skrivning av intervall:
0 < x < 10 betyder "x är större än 0 och mindre än 10".
I bakgrunden fungerar det som (0 < x) and (x < 10).
123x = 7 print(0 < x < 10) # True print(5 <= x <= 7) # True
Detta är lättläst och undviker upprepning av x.
Flyttalsnyans (små avrundningsfel)
Vissa decimaltal (som 0.1) kan inte representeras exakt i binärt format. Därför kan strikt likhet på flyttal ge oväntade resultat.
1print(0.1 + 0.2 == 0.3) # False in many environments
Vid jämförelse av flyttal för "likhet", föredra en toleranskontroll.
12import math print(math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9)) # True
Du anger inte "exakt lika", utan "tillräckligt nära".
Jämföra strängar (skiftläge och ordning)
Strängjämförelser är skiftlägeskänsliga och lexikografiska (tecken för tecken i Unicode-ordning).
12print("apple" == "Apple") # False (case matters) print("apple" < "banana") # True ("a" comes before "b")
För skiftlägesokänsliga jämförelser, normalisera båda sidor först.
12s1, s2 = "Hello", "heLLo" print(s1.lower() == s2.lower()) # True
1. Fyll i luckorna med True eller False:
2. Vilket enda uttryck kontrollerar korrekt att x är mellan 1 och 5 inklusive (med kedjning)?
3. Vilken strängjämförelse är True?
Tack för dina kommentarer!