Logiska Operatorer
Människor 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 används med jämförelser i if/while.
Vad varje operator betyder
Prioritet
not binder starkare än and, som binder starkare ä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 kring 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.
Returnerade värden och kortslutning (tillsammans)
and och or ger inte alltid orden True/False, de returnerar en av sina operander, och Python kan sluta utvärdera tidigt när resultatet är känt.
-
A and B: -
Om
Aär falskt, är hela uttrycket falskt och resultatet ärA(Python utvärderar inteB); -
Om
Aär sant, beror resultatet påBoch uttrycket utvärderas tillB. -
A or B: -
Om
Aär sant, är uttrycket sant och resultatet ärA(Python utvärderar inteB); -
Om
Aär falskt, 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 uttryck 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?
What are some common mistakes when using these logical operators in Python?
Can you give more real-world examples of using `and`, `or`, and `not`?
Fantastiskt!
Completion betyg förbättrat till 5.26
Logiska Operatorer
Svep för att visa menyn
Människor 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 används med jämförelser i if/while.
Vad varje operator betyder
Prioritet
not binder starkare än and, som binder starkare ä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 kring 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.
Returnerade värden och kortslutning (tillsammans)
and och or ger inte alltid orden True/False, de returnerar en av sina operander, och Python kan sluta utvärdera tidigt när resultatet är känt.
-
A and B: -
Om
Aär falskt, är hela uttrycket falskt och resultatet ärA(Python utvärderar inteB); -
Om
Aär sant, beror resultatet påBoch uttrycket utvärderas tillB. -
A or B: -
Om
Aär sant, är uttrycket sant och resultatet ärA(Python utvärderar inteB); -
Om
Aär falskt, 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 uttryck motsvarar klassisk logik för "varken X eller Y"?
3. Vad returnerar uttrycket?
Tack för dina kommentarer!