Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Logiska Operatorer | Booleans och Jämförelser
Datatyper i Python

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:

123
age = 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 returnerar A (utan att utvärdera B).

  • Om A är truthy beror resultatet helt på B, så Python utvärderar och returnerar B.

  • A or B:

  • Om A är truthy är resultatet garanterat att vara truthy, så Python kortsluter och returnerar A (utan att utvärdera B).

  • Om A är falsy beror resultatet helt på B, så Python utvärderar och returnerar B.

  • not X returnerar alltid ett faktiskt booleskt värde: True eller False.

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?

question-icon

Fyll i luckorna med True eller False. Låt X = True, Y = False.

X and Y
not X

X or Y

Klicka eller dra`n`släpp objekt och fyll i luckorna

question mark

Vilket påstående motsvarar klassisk logik för "varken X eller Y"?

Vänligen välj det korrekta svaret

question mark

Vad returnerar uttrycket?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 4
some-alt