Controleverloop in Python
Dit artikel legt het controleverloop in Python uit.
YouTube Video
If
-verklaring in Python
De if
-verklaring in Python is een syntaxis voor conditionele vertakking. Het wordt gebruikt om een blok code uit te voeren als een specifieke voorwaarde resulteert in True
(waar).
Basis Syntax
De if
-verklaring in Python volgt in principe de onderstaande structuur.
1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4 # If the condition is True, execute this code block
5 print("x is greater than 5")
In dit voorbeeld wordt "x is groter dan 5"
afgedrukt als de variabele x
groter is dan 5.
else
-verklaring
Met else
na een if
-verklaring kunt u code opgeven die moet worden uitgevoerd wanneer de voorwaarde onwaar is.
1x = 3
2
3if x > 5:
4 print("x is greater than 5")
5else:
6 print("x is less than or equal to 5")
In dit voorbeeld zal de uitvoer "x is kleiner dan of gelijk aan 5"
zijn.
elif
-verklaring
Als u meerdere voorwaarden moet controleren, kunt u elif
gebruiken, wat staat voor "else if".
1x = 5
2
3if x > 5:
4 print("x is greater than 5")
5elif x == 5:
6 print("x is equal to 5")
7else:
8 print("x is less than 5")
In dit voorbeeld wordt "x is gelijk aan 5"
afgedrukt.
Notities
- Een dubbele punt (
:
) is vereist naif
,elif
ofelse
. - Het codeblok dat wordt uitgevoerd wanneer een voorwaarde waar is, moet worden ingesprongen. In Python is de standaardinspringing meestal 4 spaties, maar andere aantallen spaties zijn ook goed zolang je consistent bent.
- U kunt elke expressie die resulteert in een booleaanse waarde als voorwaarde gebruiken. Dit betekent dat u voorwaardelijke expressies kunt gebruiken in combinatie met vergelijkings- of logische operatoren.
Het beheersen van de if
-verklaring van Python stelt u in staat om de uitvoeringsstroom van het programma flexibel te beheren.
Meerdere conditionele vertakkingen in Python
Er zijn verschillende manieren om een switch
-achtige functionaliteit in Python te implementeren, vergelijkbaar met die in andere talen. In Python is het gebruikelijk om if-elif-else
-verklaringen of woordenboeken te gebruiken om structuren te maken die lijken op een switch
-verklaring.
Methode 1: if-elif-else
Verklaring
De eenvoudigste manier is om de if-elif-else
verklaring te gebruiken voor conditionele vertakkingen.
1def switch_example(value):
2 if value == 1:
3 return "Value is one"
4 elif value == 2:
5 return "Value is two"
6 elif value == 3:
7 return "Value is three"
8 else:
9 return "Unknown value"
10
11print(switch_example(1)) # Output: Value is one
12print(switch_example(4)) # Output: Unknown value
Methode 2: Dictionaries Gebruiken
Door functies of waarden aan een dictionary toe te wijzen, is het mogelijk om een structuur vergelijkbaar met een switch
statement te maken. Dit is handig wanneer je verschillende operaties wilt uitvoeren voor specifieke waarden.
1def case_one():
2 return "Value is one"
3
4def case_two():
5 return "Value is two"
6
7def case_default():
8 return "Unknown value"
9
10def switch_example(value):
11 switch_dict = {
12 1: case_one,
13 2: case_two
14 }
15
16 # Use get() method to retrieve the corresponding function from the dictionary
17 # If the value is not found in the dictionary, use case_default as a fallback
18 return switch_dict.get(value, case_default)()
19
20print(switch_example(1)) # Output: Value is one
21print(switch_example(3)) # Output: Unknown value
Methode 3: match
Verklaring (Python 3.10 en later)
De match
verklaring werd geïntroduceerd in Python 3.10. Het is een patroonmatching-syntax die functionaliteit biedt vergelijkbaar met een switch
statement.
1def switch_example(value):
2 match value:
3 case 1:
4 return "Value is one"
5 case 2:
6 return "Value is two"
7 case 3:
8 return "Value is three"
9 case _:
10 return "Unknown value"
11
12print(switch_example(1)) # Output: Value is one
13print(switch_example(4)) # Output: Unknown value
Samenvatting
if-elif-else
Verklaring: Eenvoudig en aanpasbaar voor veel gevallen.- Dictionaries: Gebruik mappings van functies of waarden om efficiënte vertakking mogelijk te maken.
match
Verklaring: Maakt meer intuïtieve vertakking mogelijk in Python 3.10 en later. Het meest vergelijkbaar met eenswitch
statement.
For
Lussen in Python
De for
-instructie van Python wordt gebruikt om over elk element van een iterabel object, zoals een lijst, string of woordenboek, te itereren. De basis-syntax van een for
verklaring is als volgt:.
1# Loop through each item in the iterable
2for variable in iterable:
3 # Execute this block of code for each item in the iterable
4 code_to_execute
Hier zijn enkele specifieke voorbeelden:.
Voorbeeld Met Een Lijst
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
Deze code roept de print
functie aan voor elk element in de lijst fruits
en geeft de naam van elk fruit weer.
Voorbeeld Met range()
De range()
functie genereert gehele getallen binnen een gespecificeerde reeks en is daardoor handig voor numerieke iteraties.
1for i in range(5):
2 print(i)
range(5)
genereert gehele getallen van 0 tot en met 4. In dit geval worden 0, 1, 2, 3, 4
achtereenvolgens uitgegeven.
Voorbeeld Met Een Dictionary
Bij dictionaries worden standaard de sleutels geïtereerd, maar je kunt ook sleutel-waarde paren ophalen.
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
Alternatief kunt u de methode items()
gebruiken om tegelijkertijd sleutels en waarden op te halen.
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
Genest for
-lus
Het is ook mogelijk om geneste for
-lussen te gebruiken om complexe iteratieprocessen uit te voeren.
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
Deze code doorloopt elke rij van de lijst matrix
en geeft opeenvolgend de getallen in elke rij weer.
continue
om een iteratie over te slaan en break
om een lus te beëindigen
Door continue
in een for
-lus te gebruiken, wordt de huidige iteratie overgeslagen en wordt naar de volgende gegaan. Bovendien zal het gebruik van break
de lus volledig beëindigen.
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
In dit voorbeeld wordt de lus overgeslagen wanneer i
gelijk is aan 5 en beëindigd wanneer i
gelijk is aan 8. Daarom zal de output 0, 1, 2, 3, 4, 6, 7
zijn.
De for
-lus in Python is zeer flexibel en kan in verschillende situaties worden gebruikt. Afhankelijk van het type iteratieve verwerking dat je wilt uitvoeren, kan het worden gebruikt in combinatie met lijsten, woordenboeken, strings en range()
.
while
-lus in Python
In Python is de while
-lus een controle-structuur die wordt gebruikt om code in het blok herhaaldelijk uit te voeren zolang de voorwaarde True
blijft. De basis-syntaxis van de while
-lus is als volgt:.
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
Voorbeeld:
In het volgende voorbeeld wordt een while
-lus gebruikt om de nummers van 1 tot 5 weer te geven.
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
Deze code werkt als volgt.
- Begin met
i
als 1, printi
zolang het kleiner is dan of gelijk aan 5, en verhoogi
elke keer met 1.
Opmerking:
Bij het gebruik van de while
-instructie moet je met de volgende punten rekening houden.
-
Let op voor oneindige lussen
- Als de conditie in een
while
-lus altijdTrue
is, leidt dit tot een oneindige lus. Er moeten geschikte operaties worden uitgevoerd om de voorwaarde te wijzigen; anders stopt het programma niet.
- Als de conditie in een
-
Gebruik van
break
encontinue
:break
wordt gebruikt wanneer je de lus voortijdig wilt verlaten.continue
slaat de huidige iteratie over en gaat door naar de volgende. Wees voorzichtig, want onjuiste lusvoorwaarden kunnen tot een oneindige lus leiden.
Voorbeeld van break
:
1i = 1
2while i <= 5:
3 if i == 3:
4 break # Exit the loop when i becomes 3
5 print(i)
6 i += 1
- In dit geval eindigt de lus nadat
1
en2
zijn uitgevoerd, wanneeri
gelijk wordt aan3
.
Voorbeeld van continue
:
1i = 0
2while i < 5:
3 i += 1
4 if i == 3:
5 # Skip the print statement and move to the next loop iteration when i is 3
6 continue
7 print(i)
- In dit geval wordt de uitvoer alleen overgeslagen voor
3
, wat resulteert in1, 2, 4, 5
. - Door de waarde van
i
aan het begin van de lus te verhogen, wordt de teller alsnog verhoogd, zelfs alscontinue
wordt uitgevoerd. Zo voorkom je een oneindige lus.
Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.