Logiske operatorer
Sveip for å vise menyen
Folk sier ja og ja, ja eller nei, absolutt ikke. I Python uttrykker de logiske operatorene and, or og not disse ideene formelt og gir Booleanske verdier (True/False) som brukes sammen med sammenligninger i if/while.
Hva hver operator betyr
Prioritet
not har høyere prioritet enn and, som igjen har høyere prioritet enn or (not > and > or). Bruk parenteser hvis du er usikker.
For eksempel er age >= 18 and has_id True bare hvis begge sjekkene er oppfylt:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Sannhetstabell
En sannhetstabell viser alle mulige sannhetsverdier for innganger og viser det resulterende utfallet av et logisk uttrykk. Det er en kompakt måte å resonnere om logikk uten å kjøre kode.
Bruk av tabellen
Hvis X er False og Y er True, så er X and Y False, X or Y er True, og not X er True.
Returnerte verdier og kortslutning
and og or gir ikke alltid de boolske verdiene True eller False. I stedet returnerer de en av operandene sine, og Python avslutter evalueringen tidlig (kortslutter) så snart det endelige resultatet er garantert.
-
A and B: -
Hvis
Aer falsy, er resultatet garantert å være falsy, så Python kortslutter og returnererA(uten å evaluereB). -
Hvis
Aer truthy, avhenger utfallet helt avB, så Python evaluerer og returnererB. -
A or B: -
Hvis
Aer truthy, er resultatet garantert å være truthy, så Python kortslutter og returnererA(uten å evaluereB). -
Hvis
Aer falsy, avhenger utfallet helt avB, så Python evaluerer og returnererB. -
not Xreturnerer alltid en faktisk boolsk verdi: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 inn med True eller False. La X = True, Y = False.
2. Hvilket utsagn samsvarer med klassisk logikk for «verken X eller Y»?
3. Hva returnerer uttrykket?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår