Inleiding
Het gebruik van for loops en while loops in Python stelt je in staat om taken te automatiseren en te herhalen op een efficiënte manier.
Maar soms kan een externe factor invloed hebben op de manier waarop je programma loopt. Als dat gebeurt, wil je misschien dat je programma een lus helemaal afsluit, een deel van een lus overslaat voordat het verdergaat, of die externe factor negeert. U kunt deze acties uitvoeren met break
continue
, en pass
verklaringen.
Break Statement
In Python biedt het break
statement je de mogelijkheid om uit een lus te stappen wanneer een externe conditie wordt getriggerd. Je plaatst het break
statement in het blok code onder je loop statement, meestal na een conditional if
statement.
Laten we eens kijken naar een voorbeeld waarin het break
statement wordt gebruikt in een for
loop:
number = 0for number in range(10): if number == 5: break # break here print('Number is ' + str(number))print('Out of loop')
In dit kleine programma wordt de variabele number
geïnitialiseerd op 0. Dan construeert een for
statement de lus zolang de variabele number
kleiner is dan 10.
Binnen de for
-lus is er een if
-instructie die de voorwaarde stelt dat als de variabele number
gelijk is aan het gehele getal 5, de lus wordt onderbroken.
Binnen de lus bevindt zich ook een print()
-instructie die bij elke iteratie van de for
-lus zal worden uitgevoerd totdat de lus breekt, omdat deze na de break
-instructie komt.
Om te weten wanneer we uit de lus zijn, hebben we een laatste print()
statement buiten de for
lus opgenomen.
Wanneer we deze code uitvoeren, ziet de uitvoer er als volgt uit:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Out of loop
Dit laat zien dat zodra het gehele getal number
is geëvalueerd als gelijk aan 5, de lus wordt afgebroken, omdat het programma hiertoe opdracht heeft gekregen met het break
statement.
Het break
statement zorgt ervoor dat een programma uit een lus breekt.
Continue Statement
Het continue
statement geeft u de mogelijkheid om het deel van een lus waar een externe conditie wordt getriggerd over te slaan, maar wel door te gaan om de rest van de lus te voltooien. Dat wil zeggen, de huidige iteratie van de lus wordt onderbroken, maar het programma keert terug naar het begin van de lus.
De continue
verklaring staat in het blok code onder de lus verklaring, meestal na een conditionele if
verklaring.
Gebruik makend van hetzelfde for
loop programma als in de Break Statement sectie hierboven, zullen we een continue
statement gebruiken in plaats van een break
statement:
number = 0for number in range(10): if number == 5: continue # continue here print('Number is ' + str(number))print('Out of loop')
Het verschil in het gebruik van het continue
statement in plaats van een break
statement is dat onze code door zal gaan ondanks de verstoring wanneer de variabele number
wordt geëvalueerd als gelijk aan 5. Laten we eens naar onze uitvoer kijken:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 6Number is 7Number is 8Number is 9Out of loop
Hier komt Number is 5
nooit in de uitvoer voor, maar de lus gaat na dat punt door met het afdrukken van regels voor de getallen 6-10 voordat hij de lus verlaat.
U kunt het continue
statement gebruiken om diep geneste voorwaardelijke code te vermijden, of om een lus te optimaliseren door vaak voorkomende gevallen te elimineren die u zou willen verwerpen.
Het continue
statement zorgt ervoor dat een programma bepaalde factoren die zich binnen een lus voordoen overslaat, maar vervolgens wel doorgaat met de rest van de lus.
Pass Statement
Wanneer een externe conditie wordt getriggerd, kunt u met het pass
statement de conditie afhandelen zonder dat de lus op enigerlei wijze wordt beïnvloed; alle code wordt verder gelezen, tenzij een break
of ander statement optreedt.
Net als bij de andere verklaringen staat de pass
verklaring binnen het blok code onder de lusverklaring, meestal na een conditionele if
verklaring.
Gebruikmakend van hetzelfde codeblok als hierboven, laten we het break
of continue
statement vervangen door een pass
statement:
number = 0for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number))print('Out of loop')
De pass
verklaring die na de if
voorwaardelijke verklaring komt, vertelt het programma om door te gaan met het uitvoeren van de lus en het feit te negeren dat de variabele number
tijdens een van zijn iteraties als gelijkwaardig aan 5 evalueert.
We laten het programma lopen en bekijken de uitvoer:
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9Out of loop
Door het pass
statement in dit programma te gebruiken, zien we dat het programma precies zo loopt als het zou doen als er geen conditional statement in het programma zat. Het pass
statement vertelt het programma om die voorwaarde te negeren en door te gaan met het programma zoals gebruikelijk.
Het pass
statement kan minimale klassen maken, of fungeren als een placeholder bij het werken aan nieuwe code en het denken op een algoritmisch niveau voordat de details worden uitgehamerd.
Conclusie
De break
continue
, en pass
verklaringen in Python zullen u toelaten om for
lussen en while
lussen effectiever in uw code te gebruiken.
Om meer met break
en pass
statements te werken, kunt u onze projecttutorial “Hoe maak ik een Twitterbot met Python 3 en de Tweepy Bibliotheek” volgen.