Python Voorwaardelijke verklaringen: IF...Else, ELIF & Switch Case
โก Slimme samenvatting
Python Voorwaardelijke instructies sturen de programmastroom door specifieke codeblokken alleen uit te voeren wanneer Booleaanse expressies waar zijn. Voorbeelden hiervan zijn if, else, elif, geneste if, de ternaire operator en structurele patroonherkenning voor een heldere, beslissingsgestuurde logica.

Wat zijn voorwaardelijke uitspraken in Python?
Voorwaardelijke uitspraken in Python Ze voeren verschillende berekeningen of acties uit, afhankelijk van of een specifieke Booleaanse voorwaarde waar of onwaar is. Ze stellen een programma in staat om beslissingen te nemen en verschillende paden te volgen in plaats van elke regel in volgorde uit te voeren. PythonVoorwaardelijke instructies worden afgehandeld door de if De if-instructie en de bijbehorende constructies: else, elif en geneste if-instructies.
Wat is Python Indien verklaring?
De Python als verklaring wordt gebruikt voor besluitvormingsprocessen. Het bevat een stuk code dat alleen wordt uitgevoerd als de voorwaarde in de if-instructie waar is. Als de voorwaarde onwaar is, wordt in plaats daarvan de optionele else-instructie uitgevoerd, die de code voor de else-voorwaarde bevat. Wanneer je wilt handelen op basis van รฉรฉn voorwaarde terwijl een andere niet waar is, gebruik je de Python if-else verklaring.
Python if-instructiesyntaxis:
if expression:
statement
else:
statement
Python als...anders stroomdiagram
Het bovenstaande stroomdiagram laat zien hoe de besturing verloopt binnen een if-else-instructie. Laten we een voorbeeld bekijken van... Python Een if-else-instructie in actie:
# 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 Regel 3: We definiรซren twee variabelen x, y = 2, 8.
- Code Regel 4: De if-instructie controleert de voorwaarde x < y, wat is Waar in dit geval.
- Code Regel 5: De variabele st wordt ingesteld op โx is kleiner dan y.โ
- Code Regel 6: De regel print(st) geeft de waarde van st weer, namelijk "x is kleiner dan y."
Wat gebeurt er als de "als"-voorwaarde niet wordt voldaan?
Voortbordurend op het vorige voorbeeld, laten we eens kijken wat er gebeurt als de if-voorwaarde in Python is niet voldaan. Wanneer de voorwaarde onwaar is en er geen else-tak bestaat, wordt de ingesprongen code volledig overgeslagen.
# 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 Regel 3: We definiรซren twee variabelen x, y = 8, 4.
- Code Regel 4: De if-instructie controleert de voorwaarde x < y, wat is Niet waar in dit geval.
- Code Regel 5: De variabele st is NIET ingesteld op โx is kleiner dan y.โ
- Code Regel 6: De regel `print(st)` probeert een variabele af te drukken die nooit is gedeclareerd, dus Python verhoogt een Naamfout.
Hoe gebruik je de "else"-voorwaarde?
Om de bovenstaande fout te voorkomen, kunt u een else-voorwaarde toevoegen. Een else-voorwaarde wordt gebruikt wanneer u een bewering moet beoordelen op basis van een andere. Als een van de voorwaarden onwaar is, biedt het else-blok een alternatief pad, zodat het programma alsnog een resultaat oplevert.
Voorbeeld:
# 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 Regel 3: We definiรซren twee variabelen x, y = 8, 4.
- Code Regel 4: De if-instructie controleert de voorwaarde x < y, wat is Niet waar in dit geval.
- Code Regel 6: De programmacontrole gaat vervolgens naar de else-voorwaarde.
- Code Regel 7: De variabele st wordt ingesteld op โx is meer dan jij.โ
- Code Regel 8: De regel print(st) geeft de waarde van st weer, namelijk "x is groter dan y".
Wanneer de "else"-voorwaarde niet werkt
De else-voorwaarde levert niet altijd het gewenste resultaat op. Het kan een verkeerde uitvoer geven als er een fout in de programmalogica zit. Dit gebeurt meestal wanneer je meer dan twee instructies of voorwaarden in een programma moet rechtvaardigen. Een voorbeeld zal dit concept verduidelijken.
Hier zijn beide variabelen gelijk (8, 8), maar de programma-uitvoer is โx is groter dan y,โ dat WRONGDit gebeurt omdat het programma de eerste voorwaarde (de 'if'-voorwaarde) controleert, en als die niet wordt voldaan, print het de tweede voorwaarde (de 'else'-voorwaarde) als standaardwaarde. In de volgende stap zullen we zien hoe we deze fout kunnen corrigeren.
# 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()
Hoe gebruik je de "elif"-voorwaarde?
Om de eerdere fout in de else-voorwaarde te corrigeren, kunnen we gebruikmaken van de elif Met de `elif`-voorwaarde geef je het programma de opdracht om een โโderde mogelijkheid te testen wanneer de eerste voorwaarde onwaar is. Je kunt meerdere `elif`-voorwaarden aan elkaar koppelen om in je code te controleren op een vierde, vijfde en verdere mogelijkheden.
Voorbeeld:
# 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 Regel 3: We definiรซren twee variabelen x, y = 8, 8.
- Code Regel 4: De if-instructie controleert de voorwaarde x < y, wat is Niet waar in dit geval.
- Code Regel 6: De programmacontrole gaat naar de elif-voorwaarde. Deze controleert of x == y, wat waar is.
- Code Regel 7: De variabele st wordt ingesteld op โx is gelijk y. "
- Code Regel 10: De programmacontrole verlaat de if-instructie (de else-instructie wordt niet bereikt) en print st. De uitvoer is "x is hetzelfde als y", wat correct is.
Hoe voer je een voorwaardelijke instructie uit met minimale middelen? Code
Nu je volledige if-elif-else-blokken kunt schrijven, Python Hiermee kun je een eenvoudige voorwaarde samenvatten in รฉรฉn regel. In plaats van aparte code te schrijven voor elke tak, kun je een ternaire (voorwaardelijke) uitdrukking.
Syntax:
value_if_true if condition else value_if_false
Voorbeeld:
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 Regel 2: We definiรซren twee variabelen x, y = 10, 8.
- Code Regel 3: De variabele st wordt ingesteld op "x is kleiner dan y" als x < y; anders wordt deze "x is groter dan of gelijk aan y". Omdat x > y hier, wordt st de tweede waarde.
- Code Regel 4: Print de waarde van st en geeft de juiste uitvoer.
Python Geneste if-instructie
Een geneste if-instructie plaatst de ene if-instructie binnen de andere, wat handig is wanneer een beslissing afhangt van een tweede voorwaarde. Het volgende voorbeeld laat een geneste if-instructie zien. Python dat de schepen berekentping De kosten zijn afhankelijk van het land en het totale orderbedrag.
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")
Verwijder het commentaar bij regel 2 in de bovenstaande code, zet commentaar bij regel 3 en voer de code opnieuw uit om te zien hoe de uitvoer verandert voor een ander land.
Schakel casusverklaring in Python
Wat is een switch-statement?
Een switch-statement is een statement met meerdere vertakkingen dat de waarde van een variabele vergelijkt met de waarden die in de case-statements zijn gespecificeerd. Jarenlang was dit de gangbare praktijk. Python Omdat de taal geen switch-statement had, implementeerden ontwikkelaars hetzelfde gedrag met Python woordenboek kaartping.
Voorbeeld met behulp van een woordenboekkaartping:
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))
Schakelaarbehuizing met match (Python 3.10 en Later)
Sinds Python 3.10 (uitgebracht in oktober 2021), Python biedt een native luciferdoosje Deze verklaring, ook wel bekend als structurele patroonherkenning, biedt een overzichtelijk en leesbaar alternatief voor lange elif-ketens en de hierboven getoonde woordenboekbenadering.
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))
Het underscore-teken (_) fungeert als de standaardwaarde en komt overeen met elke waarde die niet door de voorgaande gevallen wordt afgehandeld, net als de standaardwaarde in een traditionele switch-instructie.
if vs elif vs else: een snelle vergelijking
Gebruik deze vergelijking om te bepalen welke voorwaardelijke structuur het beste bij uw besluitvormingslogica past.
| Statement | Doel | Wanneer te gebruiken |
|---|---|---|
| if | Voert een codeblok uit wanneer aan een bepaalde voorwaarde is voldaan. | Een enkele ja/nee-beslissing |
| als...anders | Biedt een alternatief wanneer de voorwaarde onjuist is. | Twee elkaar uitsluitende uitkomsten |
| elif | Test aanvullende voorwaarden in volgorde | Drie of meer mogelijkheden |
| Genest als | Plaatst een if-statement binnen een andere if-statement. | Een beslissing die afhankelijk is van een tweede voorwaarde. |
| Ternair | Condenseert if-else-instructies tot รฉรฉn regel. | Eenvoudige waardetoewijzing |
| luciferdoosje | Vergelijkt een waarde met meerdere patronen. | Multiway-vertakking (Python 3.10 +) |







