Python Villkorliga uttalanden: IF…Else, ELIF & Switch Case
⚡ Smart sammanfattning
Python Villkorssatser styr programflödet genom att exekvera specifika kodblock endast när booleska uttryck utvärderas till sant. De inkluderar if, else, elif, nästlade if, den ternära operatorn och strukturell mönstermatchning för ren, beslutsdriven logik.

Vad finns villkorliga uttalanden i Python?
Villkorliga uttalanden i Python utföra olika beräkningar eller åtgärder beroende på om en specifik booleskt villkor utvärderas till sant eller falskt. De låter ett program fatta beslut och följa olika vägar istället för att köra varje rad i sekvens. I Python, hanteras villkorliga satser av if och dess följeslagare: else, elif och nested if.
Vad är Python Om uttalande?
Ocuco-landskapet Python if uttalande används för beslutsfattande operationer. Den innehåller en mängd kod som bara körs när villkoret som anges i if-satsen är sant. Om villkoret är falskt körs den valfria else-satsen istället och innehåller koden för else-villkoret. När du vill agera på ett villkor medan ett annat inte är sant använder du Python if-else uttalande.
Python if Statement Syntax:
if expression:
statement
else:
statement
Python om ... annat flödesschema
Flödesschemat ovan visar hur kontrollen går igenom en if-else-sats. Låt oss se ett exempel på det. Python if-else-sats i praktiken:
# 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 definierar två variabler x, y = 2, 8.
- Code Linje 4: if-satsen kontrollerar villkoret x < y, vilket är Sant I detta fall.
- Code Linje 5: Variabeln st sätts till "x är mindre än y".
- Code Linje 6: Linjen print(st) matar ut värdet på st, vilket är "x är mindre än y".
Vad händer när "om"-villkoret inte är uppfyllt
Med utgångspunkt i föregående exempel, låt oss se vad som händer när if-villkoret i Python är inte uppfyllt. När villkoret är falskt och ingen annan gren finns, hoppas den indragna koden över helt.
# 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 definierar två variabler x, y = 8, 4.
- Code Linje 4: if-satsen kontrollerar villkoret x < y, vilket är Falsk I detta fall.
- Code Linje 5: Variabeln st är INTE satt till "x är mindre än y."
- Code Linje 6: Linjen print(st) försöker skriva ut en variabel som aldrig deklarerades, så Python höjer a Namnfel.
Hur man använder villkoret "annars"
För att undvika felet ovan kan du lägga till ett else-villkor. Else-villkoret används när du måste bedöma ett påstående utifrån ett annat. Om ett villkor är falskt, tillhandahåller else-blocket en alternativ väg så att programmet fortfarande producerar ett resultat.
Exempel:
# 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 definierar två variabler x, y = 8, 4.
- Code Linje 4: if-satsen kontrollerar villkoret x < y, vilket är Falsk I detta fall.
- Code Linje 6: Programkontrollflödet går till villkoret annars.
- Code Linje 7: Variabeln st sätts till “x är större än y."
- Code Linje 8: Linjen print(st) matar ut värdet på st, vilket är "x är större än y".
När "annars"-villkoret inte fungerar
Villkoret "annars" ger inte alltid önskat resultat. Det kan skriva ut fel utdata när det finns ett fel i programlogiken. Detta händer vanligtvis när du måste motivera mer än två satser eller villkor i ett program. Ett exempel hjälper dig att förstå detta koncept.
Här är båda variablerna desamma (8, 8), men programmets utdata är "x är större än y" vilket är FELDetta händer eftersom programmet kontrollerar det första villkoret (if-villkoret), och när det misslyckas skriver det ut det andra villkoret (else-villkoret) som standard. I nästa steg ska vi se hur man korrigerar detta fel.
# 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()
Hur man använder villkoret "elif"
För att korrigera det tidigare felet som orsakades av annars-villkoret kan vi använda elif sats. Genom att använda elif-villkoret anger du att programmet ska testa en tredje möjlighet när det första villkoret är falskt. Du kan länka flera elif-villkor för att kontrollera om det finns en fjärde, femte och ytterligare möjligheter i din kod.
Exempel:
# 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 definierar två variabler x, y = 8, 8.
- Code Linje 4: if-satsen kontrollerar villkoret x < y, vilket är Falsk I detta fall.
- Code Linje 6: Programkontrollens flöde går till elif-villkoret. Det kontrollerar om x == y, vilket är sant.
- Code Linje 7: Variabeln st sätts till “x är samma som y. "
- Code Linje 10: Programkontrollen avslutar if-satsen (den når inte else-satsen) och skriver ut st. Utdata är "x är samma som y", vilket är korrekt.
Hur man kör en villkorlig sats med minimal Code
Nu när du kan skriva fullständiga if-elif-else-block, Python låter dig kondensera ett enkelt villkor till en enda rad. Istället för att skriva separat kod för varje gren kan du använda en ternärt (villkorligt) uttryck.
Syntax:
value_if_true if condition else value_if_false
Exempel:
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 definierar två variabler x, y = 10, 8.
- Code Linje 3: Variabeln st sätts till ”x är mindre än y” om x < y; annars blir den ”x är större än eller lika med y”. Eftersom x > y här blir st det andra värdet.
- Code Linje 4: Skriver ut värdet på st och ger korrekt utdata.
Python Kapslad if Statement
Ett kapslat if-uttryck placerar ett if-uttryck inuti ett annat, vilket är användbart när ett beslut är beroende av ett andra villkor. Följande exempel visar ett kapslat if-uttryck i Python som beräknar fartygetping kostnad baserad på land och ordersumma.
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")
Avkommentera rad 2 i koden ovan, kommentera bort rad 3 och kör koden igen för att se hur utdata ändras för ett annat land.
Byt fallutlåtande in Python
Vad är en Switch-sats?
En switch-sats är en flervägsförgreningssats som jämför värdet på en variabel med de värden som anges i case-satser. Under många år har Python språket hade ingen switch-sats, så utvecklarna implementerade samma beteende med Python lexikon kartaping.
Exempel med ordbokskartaping:
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))
Växla fodral med matchning (Python 3.10 och Later)
Eftersom Python 3.10 (släppt i oktober 2021), Python ger en infödd tändsticksfodral sats, känd som strukturell mönstermatchning. Den erbjuder ett rent, läsbart alternativ till långa elif-kedjor och den ordboksbaserade metod som visas ovan.
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))
Understrecket (_) fungerar som standardfall och matchar alla värden som inte hanterades av de tidigare fallen, precis som standardvärdet i en traditionell switch-sats.
if vs elif vs else: Snabb jämförelse
Använd den här jämförelsen för att avgöra vilken villkorlig struktur som passar din beslutslogik.
| . | Syfte | När ska du använda |
|---|---|---|
| if | Kör ett block när ett villkor är sant | Ett enda ja/nej-beslut |
| om annat | Ger en reservfunktion när villkoret är falskt | Två ömsesidigt uteslutande resultat |
| elif | Testar ytterligare villkor i sekvens | Tre eller fler möjligheter |
| Kapslad om | Placerar ett if inuti ett annat if | Ett beslut som är beroende av ett andra villkor |
| Ternära | Kondenserar if-else till en rad | Enkel värdetilldelning |
| tändsticksfodral | Matchar ett värde mot många mönster | Flervägsförgrening (Python 3.10 +) |







