Logiska operatorer
Folk säger "ja och ja", "ja eller nej", "absolut inte". I Python uttrycker de logiska operatorerna and, or och not dessa idéer formellt och ger Booleans (True/False) som du använder med jämförelser i if/while.
Vad varje operator betyder
Prioritet
not har högre prioritet än and, som har högre prioritet än or (not > and > or). Använd parenteser vid osäkerhet.
Till exempel är age >= 18 and has_id True endast om båda villkoren är uppfyllda:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Sanningstabell
En sanningstabell listar alla möjliga sanningsvärden för indata och visar det resulterande utfallet av ett logiskt uttryck. Det är ett kompakt sätt att resonera om logik utan att köra kod.
Användning av tabellen
Om X är False och Y är True, då är X and Y False, X or Y är True, och not X är True.
Returvärden & Kortslutning (Tillsammans)
and och or ger inte alltid orden True/False, de returnerar en av sina operander, och Python kan sluta tidigt när resultatet är känt.
-
A and B: -
Om
Aär falsk, är hela uttrycket falskt och resultatet ärA(Python utvärderar inteB); -
Om
Aär sann, beror resultatet påBoch uttrycket utvärderas tillB. -
A or B: -
Om
Aär sann, är uttrycket sant och resultatet ärA(Python utvärderar inteB); -
Om
Aär falsk, beror resultatet påBoch uttrycket utvärderas tillB. -
not Xreturnerar alltid ett faktiskt booleskt värde:TrueellerFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Fyll i luckorna med True eller False). Låt X = True, Y = False.
2. Vilket påstående motsvarar klassisk logik för "varken X eller Y"?
3. Vad returnerar uttrycket?
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 what "short-circuiting" means in more detail?
Can you give more real-life examples of using these logical operators?
How do I know if a value is considered "truthy" or "falsey" in Python?
Awesome!
Completion rate improved to 3.45
Logiska operatorer
Svep för att visa menyn
Folk säger "ja och ja", "ja eller nej", "absolut inte". I Python uttrycker de logiska operatorerna and, or och not dessa idéer formellt och ger Booleans (True/False) som du använder med jämförelser i if/while.
Vad varje operator betyder
Prioritet
not har högre prioritet än and, som har högre prioritet än or (not > and > or). Använd parenteser vid osäkerhet.
Till exempel är age >= 18 and has_id True endast om båda villkoren är uppfyllda:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Sanningstabell
En sanningstabell listar alla möjliga sanningsvärden för indata och visar det resulterande utfallet av ett logiskt uttryck. Det är ett kompakt sätt att resonera om logik utan att köra kod.
Användning av tabellen
Om X är False och Y är True, då är X and Y False, X or Y är True, och not X är True.
Returvärden & Kortslutning (Tillsammans)
and och or ger inte alltid orden True/False, de returnerar en av sina operander, och Python kan sluta tidigt när resultatet är känt.
-
A and B: -
Om
Aär falsk, är hela uttrycket falskt och resultatet ärA(Python utvärderar inteB); -
Om
Aär sann, beror resultatet påBoch uttrycket utvärderas tillB. -
A or B: -
Om
Aär sann, är uttrycket sant och resultatet ärA(Python utvärderar inteB); -
Om
Aär falsk, beror resultatet påBoch uttrycket utvärderas tillB. -
not Xreturnerar alltid ett faktiskt booleskt värde:TrueellerFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Fyll i luckorna med True eller False). Låt X = True, Y = False.
2. Vilket påstående motsvarar klassisk logik för "varken X eller Y"?
3. Vad returnerar uttrycket?
Tack för dina kommentarer!