Python is vandaag een van de meest gebruikte talen. Net als bij bijna alle andere programmeertalen heeft Python de lusconstructie. Python-loops zoals de for-lus en while-lus stellen ontwikkelaars in staat om collecties te doorlopen of op basis van verschillende voorwaarden.
In deze tutorial leer je hoe je elk type Python-lus kunt maken en gebruiken, en ook hoe je lussen kunt beheren met behulp van de Python-opdrachten break
, pass
en continue
.
Laten we beginnen!
Vereisten
Deze post zal een stapsgewijze tutorial zijn. Als je wilt meedoen, zorg er dan voor dat je Python v3.6 of later geïnstalleerd hebt. Deze tutorial zal Python v3.9.2 gebruiken op een Windows 10-machine.
Begrip van Itereerbare Python-constructies
Voordat je leert over lussen, moet je meer weten over het concept van iterables in Python. Lussen verwerken verzamelingen elementen zoals lijsten, tuples en woordenboeken. Elk van deze constructies bevat meerdere elementen waar je “over kunt itereren”. Daarom is elke constructie een iterable met elementen die een lus individueel kan verwerken.
Wanneer je iemand hoort praten over iets dat iterabel is, weet dan dat dit een element is dat je kunt lezen voor elk object binnen die collectie met een lus.
Python For Loops
Laten we deze tutorial beginnen door eerst te leren over for-loops. For-loops herhalen de uitvoering van verklaringen of een blok verklaringen die worden aangestuurd door een iterabele expressie. Met andere woorden, ze voeren code uit voor elk item binnen een collectie van elementen.
For Loops en Strings
Bijvoorbeeld, misschien heb je een iterabel item zoals een string. In Python is de string een reeks karakters. Elke string bestaat uit een combinatie van karakters. Misschien heb je een string ADAM
. Deze string bestaat uit vier iterabele karakters, A
, D
, A
en M
.
Als één string ziet Python alleen één element; ADAM
, zoals hieronder getoond.

Maar, omdat Python-strings iterabel zijn, kan Python die string “uit elkaar breken” in een array van karakters en vervolgens elk karakter één voor één verwerken. Om dat te doen, zou je een for-loop maken zoals hieronder.
De for-loop heeft een doel of iterator (letter
in dit geval) om elke iteratie te vertegenwoordigen. Vervolgens vertel je Python welk iterabel element je wilt verwerken (ATA
) met behulp van het in
-woord. Elk karakter in de karakterreeks is in de string.
Vervolgens, binnen de for-loop, zou je elke code maken die je wilt uitvoeren voor elke iteratie. In dit voorbeeld drukt Python eenvoudig elk karakter in de karakterreeks (string) af.
Je kunt hieronder zien dat Python elk karakter in de string één voor één afdrukt.

For-lussen kunnen over elk iterabel element itereren, zoals lijsten en bereiken ook. Vervang
ATA
in het voorbeeld van deze sectie doorrange(5)
en je zult hetzelfde resultaat zien.
Python While-lussen
Terwijl for-lussen code uitvoeren voor elk item in een verzameling elementen, voert de while-lus code uit op basis van een specifieke voorwaarde. Meer specifiek blijft Python een while-lus uitvoeren zolang een voorwaarde onwaar is.
Bijvoorbeeld, een veelvoorkomende vereiste in Python is om een teller te maken en code een bepaald aantal keren uit te voeren. Om deze situatie te creëren, moet je een voorwaarde definiëren die True
zou retourneren wanneer het huidige aantal de maximale telling overschrijdt.
Laten we zeggen dat je begint met een variabele genaamd telling
die een integer 0 opslaat. Je wilt deze integer met 1 verhogen maar niet meer dan 5 overschrijden. Je zou zoiets kunnen maken:
Het bovenstaande zou kunnen werken maar het is helemaal niet efficiënt. Je gebruikt het DRY-principe niet. Je herhaalt jezelf. In plaats daarvan verkort je de codelengte door een while-lus te gebruiken en Python te vertellen om één toe te voegen aan telling
terwijl telling
minder is dan zes.
De onderstaande voorbeelden gebruiken een while-lus om een voorwaarde te definiëren (telling < 6
) en om een expressie uit te voeren (de print
-verklaring en verhoog de telling
met 1 terwijl de voorwaarde True
is.

Stroomregeling in Lussen
In de vorige twee voorbeelden begonnen en eindigden zowel de Python for-lus als de while-lus op zichzelf. De for-lus eindigde omdat deze het einde van de verzameling doorloopbare elementen bereikte, en de while-lus eindigde omdat de voorwaarde werd geëvalueerd als True
.
Hoewel het gebruikelijk is dat Python-lussen “normaal” eindigen, kunt u ook het gedrag van de lus wijzigen om vroegtijdig te eindigen of één of meer iteraties over te slaan.
De Break-uitspraak
Wanneer u een lus voortijdig wilt beëindigen, kunt u dit doen door de break
-uitspraak te gebruiken. Wanneer deze binnen een lus wordt uitgevoerd, stopt de break
-uitspraak de lus bij de huidige iteratie.
Meestal gebruikt u de break
-uitspraak wanneer een specifieke voorwaarde binnen een lus is vervuld. Bijvoorbeeld, in het vorige voorbeeld van de for-lus, leerde u dat een for-lus door een reeks tekens in een string zal itereren. Misschien wilt u alleen alle tekens verwerken tot aan de eerste D
.
Om een for-lus (of zelfs een while-lus) te stoppen, definieert u een bepaalde voorwaarde die u wilt matchen en neemt u vervolgens een break
-uitspraak op, zoals hieronder wordt getoond.
In het onderstaande voorbeeld beëindigt Python de for-lus op het moment dat de iteratievariabele letter
gelijk is aan D
.

De Continue-uitspraak
Misschien moet u een lus maken op basis van een specifieke voorwaarde, maar wilt u niet noodzakelijk elk doorloopbaar element verwerken. In dat geval kunt u iteraties overslaan met de continue
-uitspraak.
In tegenstelling tot de break
-verklaring die de hele lus beëindigt, slaat de continue
-verklaring de huidige iteratie over. Met het voorbeeld hierboven zou je misschien elke karakter in de string ADAM
willen doorlopen, maar het karakter D
willen overslaan. Je zou het karakter D
kunnen overslaan met een voorwaarde (if letter == "D"
) en de continue
-verklaring, zoals hieronder wordt getoond.
Je kunt hieronder zien dat Python het karakter D
niet heeft geretourneerd omdat de continue
-verklaring de print
-verklaring heeft overgeslagen toen het het karakter D
tegenkwam.

De Pass-verklaring
Laten we nu de sectie over stroombeheer afsluiten met de pass
-verklaring. De pass
-verklaring is een beetje uniek omdat het eigenlijk gewoon een tijdelijke aanduiding is. De pass
-verklaring is een manier om een lus te definiëren in een Python-script die eigenlijk niets doet.
Stel dat je een for-lus hebt die je liever in je Python-script wilt laten staan om wat voor reden dan ook. Maar je hebt eigenlijk geen expressie om er binnen uit te voeren, zoals hieronder.
Wanneer je een for-lus in Python definieert met een expressie erin, zal Python een IndentationError retourneren, zoals hieronder wordt getoond.

Maar voeg de pass
-verklaring toe als een expressie binnen de for
-lus en je zult zien dat Python de for-lus uitvoert en in feite niets doet.

Conclusie
In deze tutorial heb je geleerd hoe je aan de slag kunt gaan met Python-loops. Het begrijpen van hoe Python-loops werken en hoe je ze kunt beheersen, biedt je veel meer mogelijkheden om solide Python-programma’s te maken en op te bouwen.
Met je nieuw verworven kennis, waar ga je een lus invoegen in je code?