Python Betingede erklæringer: IF…Else, ELIF & Switch Case
⚡ Smart opsummering
Python Betingede sætninger styrer programflowet ved kun at udføre specifikke kodeblokke, når boolske udtryk evalueres til sand. De omfatter if, else, elif, nested if, den ternære operator og strukturel mønstermatchning for ren, beslutningsdrevet logik.

Hvad er betingede erklæringer i Python?
Betingede erklæringer i Python udføre forskellige beregninger eller handlinger afhængigt af om en specifik boolsk begrænsning evalueres til sand eller falsk. De lader et program træffe beslutninger og følge forskellige stier i stedet for at køre hver linje i rækkefølge. I Python, betingede udsagn håndteres af if sætning og dens ledsagere: else, elif og nested if.
Hvad er Python Hvis erklæring?
Python hvis erklæring bruges til beslutningstagning. Den indeholder en mængde kode, der kun kører, når betingelsen i if-sætningen er sand. Hvis betingelsen er falsk, køres den valgfri else-sætning i stedet og indeholder koden for else-betingelsen. Når du vil handle på én betingelse, mens en anden ikke er sand, bruger du Python if-else erklæring.
Python if Statement Syntaks:
if expression:
statement
else:
statement
Python hvis ... andet Flowchart
Flowchartet ovenfor viser, hvordan kontrol flyder gennem en if-else-sætning. Lad os se et eksempel på det. Python if-else-sætning i aktion:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linje 3: Vi definerer to variable x, y = 2, 8.
- Code Linje 4: if-sætningen kontrollerer betingelsen x < y, hvilket er Sand I dette tilfælde.
- Code Linje 5: Variablen st sættes til "x er mindre end y".
- Code Linje 6: Linjen print(st) udskriver værdien af st, som er "x er mindre end y".
Hvad sker der, når "hvis"-betingelsen ikke er opfyldt
Med udgangspunkt i det foregående eksempel, lad os se, hvad der sker, når hvis-betingelsen i Python ikke er opfyldt. Når betingelsen er falsk, og der ikke findes nogen anden gren, springes den indrykkede kode helt over.
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code Linje 3: Vi definerer to variable x, y = 8, 4.
- Code Linje 4: if-sætningen kontrollerer betingelsen x < y, hvilket er False I dette tilfælde.
- Code Linje 5: Variablen st er IKKE indstillet til "x er mindre end y."
- Code Linje 6: Linjen print(st) forsøger at udskrive en variabel, der aldrig blev deklareret, så Python rejser en Navnefejl.
Sådan bruger du betingelsen "ellers"
For at undgå ovenstående fejl kan du tilføje en else-betingelse. else-betingelsen bruges, når du skal bedømme en sætning på baggrund af en anden. Hvis én betingelse er falsk, giver else-blokken en alternativ sti, så programmet stadig producerer et resultat.
Eksempel:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linje 3: Vi definerer to variable x, y = 8, 4.
- Code Linje 4: if-sætningen kontrollerer betingelsen x < y, hvilket er False I dette tilfælde.
- Code Linje 6: Programstyringsflowet går til else-betingelsen.
- Code Linje 7: Variablen st sættes til "x er større end y."
- Code Linje 8: Linjen print(st) udskriver værdien af st, som er "x er større end y".
Når "ellers"-betingelsen ikke fungerer
Ellers-betingelsen vil ikke altid give dig det ønskede resultat. Den kan udskrive det forkerte output, når der er en fejl i programlogikken. Dette sker normalt, når du skal retfærdiggøre mere end to udsagn eller betingelser i et program. Et eksempel vil hjælpe dig med at forstå dette koncept.
Her er begge variabler de samme (8, 8), men programmets output er "x er større end y" som er FORKERTDette sker, fordi programmet kontrollerer den første betingelse (if-betingelsen), og når den fejler, udskriver det den anden betingelse (else-betingelsen) som standard. I næste trin vil vi se, hvordan vi retter denne fejl.
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
Sådan bruger du betingelsen "elif"
For at rette den tidligere fejl, der blev lavet af else-betingelsen, kan vi bruge Elif sætning. Ved at bruge elif-betingelsen fortæller du programmet, at det skal teste en tredje mulighed, når den første betingelse er falsk. Du kan kæde flere elif-betingelser sammen for at kontrollere for fjerde, femte og yderligere muligheder i din kode.
Eksempel:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code Linje 3: Vi definerer to variable x, y = 8, 8.
- Code Linje 4: if-sætningen kontrollerer betingelsen x < y, hvilket er False I dette tilfælde.
- Code Linje 6: Programstyringsflowet går til elif-betingelsen. Den kontrollerer, om x == y, hvilket er sandt.
- Code Linje 7: Variablen st sættes til "x er samme som y. "
- Code Linje 10: Programstyringen afslutter if-sætningen (den når ikke else-sætningen) og udskriver st. Outputtet er "x er det samme som y", hvilket er korrekt.
Sådan udfører du en betinget sætning med minimal Code
Nu hvor du kan skrive fulde if-elif-else-blokke, Python lader dig kondensere en simpel betingelse til en enkelt linje. I stedet for at skrive separat kode for hver gren, kan du bruge en ternært (betinget) udtryk.
Syntaks:
value_if_true if condition else value_if_false
Eksempel:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code Linje 2: Vi definerer to variable x, y = 10, 8.
- Code Linje 3: Variablen st sættes til "x er mindre end y", hvis x < y; ellers bliver den "x er større end eller lig med y." Fordi x > y her, bliver st den anden værdi.
- Code Linje 4: Udskriver værdien af st og giver det korrekte output.
Python Indlejret if-erklæring
En indlejret if-sætning placerer en if-sætning inden i en anden, hvilket er nyttigt, når en beslutning afhænger af en anden betingelse. Følgende eksempel demonstrerer en indlejret if-sætning i Python der beregner skibping Pris baseret på land og ordretotal.
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
Fjern kommentaren fra linje 2 i koden ovenfor, kommenter linje 3 ud, og kør koden igen for at se, hvordan outputtet ændrer sig for et andet land.
Skift sagserklæring ind Python
Hvad er en Switch-erklæring?
En switch-sætning er en flervejs branch-sætning, der sammenligner værdien af en variabel med de værdier, der er angivet i case-sætninger. I mange år har Python Sproget havde ikke en switch-sætning, så udviklerne implementerede den samme adfærd med Python ordbog kortping.
Eksempel på brug af ordbogskortping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
Skift etui med match (Python 3.10 og Later)
Siden Python 3.10 (udgivet i oktober 2021), Python giver en indfødt tændstiketui sætning, kendt som strukturel mønstermatchning. Den tilbyder et rent og læsbart alternativ til lange elif-kæder og den ovenfor viste ordbogstilgang.
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
Understregningstegn (_) fungerer som standard og matcher enhver værdi, der ikke blev håndteret af de tidligere tilfælde, ligesom standardværdien i en traditionel switch-sætning.
if vs elif vs else: Hurtig sammenligning
Brug denne sammenligning til at beslutte, hvilken betinget struktur der passer til din beslutningslogik.
| Statement | Formål | Hvornår skal den bruges ? |
|---|---|---|
| if | Kører en blok, når en betingelse er sand | En enkelt ja/nej-beslutning |
| hvis ellers | Giver et alternativ, når betingelsen er falsk | To gensidigt udelukkende resultater |
| Elif | Tester yderligere betingelser i rækkefølge | Tre eller flere muligheder |
| Indlejret hvis | Placerer et hvis indeni et andet hvis | En beslutning, der afhænger af en anden betingelse |
| Ternær | Kondenserer if-else til én linje | Simpel værditildeling |
| tændstiketui | Matcher en værdi med mange mønstre | Flervejsforgrening (Python 3.10 +) |







