Python-conditionele statements beheersen: IF, ELSE, ELIF en switch-achtige logica
Wat zijn conditionele statements in Python?
Conditionele statements stellen een programma in staat om verschillende codeblokken uit te voeren op basis van Booleaanse expressies. In Python is de if-statement de kernconstructie die dit besluitvormingsproces drijft.
In deze gids verkennen we hoe je if, else, elif en Python's dictionary-gebaseerde switch-case-alternatief gebruikt. Elke sectie bevat beknopte voorbeelden om de concepten te illustreren.
- De
if-statement begrijpen - Wat gebeurt er als een
if-conditie faalt - De
else-clausule gebruiken - Veelvoorkomende valkuilen met
else elifgebruiken voor meerdere takken- Logica compacter maken met ternaire expressies
- Geneste
if-statements - Een switch-case-patroon implementeren met dictionaries
Python if-statement basis
Syntax
if expression: # blok uitgevoerd wanneer expressie True is else: # blok uitgevoerd wanneer expressie False is
Voorbeeld:
def main(): x, y = 2, 8 if x < y: st = "x is kleiner dan y" else: st = "x is niet kleiner dan y" print(st) if __name__ == "__main__": main()
Wat gebeurt er als de if-conditie False is?
Als de conditie evalueert naar False en geen else-clausule is opgegeven, wordt de body van de if overgeslagen en gaat het programma door na het blok.
Voorbeeld met een faalende conditie:
def main(): x, y = 8, 4 if x < y: st = "x is kleiner dan y" else: st = "x is groter dan of gelijk aan y" print(st) if __name__ == "__main__": main()
De else-clausule gebruiken
Het else-blok draait wanneer de voorgaande if-conditie False is. Het is nuttig bij een binaire beslissing.
def main(): x, y = 8, 4 if x < y: st = "x is kleiner dan y" else: st = "x is groter dan y" print(st) if __name__ == "__main__": main()
Veelvoorkomende fouten met else
Wanneer twee waarden gelijk zijn, kan een else-blok een vergelijking onjuist rapporteren als "groter" of "kleiner".
def main(): x, y = 8, 8 if x < y: st = "x is kleiner dan y" else: st = "x is groter dan y" # Onjuist wanneer x == y print(st) if __name__ == "__main__": main()
elif introduceren voor meerdere takken
De elif-clausule stelt je in staat om additionele condities te testen na de initiële if. Het voorkomt de fall-through-fout hierboven.
def main(): x, y = 8, 8 if x < y: st = "x is kleiner dan y" elif x == y: st = "x is hetzelfde als y" else: st = "x is groter dan y" print(st) if __name__ == "__main__": main()
Logica compacter maken met een ternaire expressie
Python's one-liner-syntaxis kan simpele vergelijkingen beknopt maken:
def main(): x, y = 10, 8 st = "x is kleiner dan y" if x < y else "x is groter dan of gelijk aan y" print(st) if __name__ == "__main__": main()
Geneste if-statements
Geneste condities zijn nuttig wanneer een beslissing afhangt van meerdere variabelen.
totaal = 100 land = "AU" # Wijzig in "US" om het andere blok te testen if land == "US": if totaal <= 50: print("Verzendkosten zijn $50") elif totaal <= 100: print("Verzendkosten zijn $25") elif totaal <= 150: print("Verzendkosten $5") else: print("GRATIS") elif land == "AU": if totaal <= 50: print("Verzendkosten zijn $100") else: print("GRATIS") Switch-case-equivalent in Python
Python mist een native switch-statement, maar een dictionary-lookup biedt dezelfde helderheid en efficiëntie.
def switch_voorbeeld(argument): switcher = { 0: "Dit is Case Zero", 1: "Dit is Case One", 2: "Dit is Case Two", } return switcher.get(argument, "niets") if __name__ == "__main__": argument = 1 print(switch_voorbeeld(argument)) Samenvatting
- if – Voert uit wanneer een conditie waar is.
- else – Voert uit wanneer de voorgaande
iffalse is. - elif – Voegt additionele Booleaanse checks toe in sequentie.
- One-liner (ternaire) expressies verkorten simpele vergelijkingen.
- Geneste
if-blokken hanteren multi-dimensionale beslissingen. - Dictionary-lookups bieden een schone switch-case-alternatief.
Python
- Conditionele Logica in C#: If, If-Else, If-ElseIf en Geneste If Statements
- De C# Switch Statement: Syntaxis, Voorbeelden & Best Practices
- C++ switch-case statement: syntaxis, workflow en praktische voorbeelden
- C Conditionele Statements Beheersen: If, Else en Meer
- De C Switch Statement Beheersen: Syntaxis, Flow en Praktisch Voorbeeld
- C++ Switch‑Case Onder de Knie: Syntaxis, Gebruik en Praktische Voorbeelden
- Python Statements, Indentatie en Comments: Een duidelijke gids
- Python If…Else Statements onder de knie krijgen
- Python Pass Statement onder de knie krijgen: Een praktische gids
- Python print()-functie: Praktische handleiding met voorbeelden
- Java if…else beheersen: control flow uitgelegd