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 används med jämförelser i if/while.
Vad varje operator betyder
Prioritet
not har högre prioritet än and, som i sin tur 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 uppfylls:
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, så är X and Y False, X or Y är True och not X är True.
Returnerade värden & kortslutning
and och or ger inte alltid de booleska värdena True eller False. Istället returnerar de en av sina operander, och Python avbryter utvärderingen tidigt (kortslutning) så snart det slutliga resultatet är garanterat.
-
A and B: -
Om
Aär falsy är resultatet garanterat att vara falsy, så Python kortsluter och returnerarA(utan att utvärderaB). -
Om
Aär truthy beror resultatet helt påB, så Python utvärderar och returnerarB. -
A or B: -
Om
Aär truthy är resultatet garanterat att vara truthy, så Python kortsluter och returnerarA(utan att utvärderaB). -
Om
Aär falsy beror resultatet helt påB, så Python utvärderar och returnerarB. -
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