Begrip van Python-lus en Stroomregeling voor Beginners

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.

One element in Python

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.

ATA = "ADAM"
for letter in ATA:
    print(letter)

Je kunt hieronder zien dat Python elk karakter in de string één voor één afdrukt.

Printing each character in a string with a for loop

For-lussen kunnen over elk iterabel element itereren, zoals lijsten en bereiken ook. Vervang ATA in het voorbeeld van deze sectie door range(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:

count = 0
count = count + 1
count = count + 1
count = count + 1
count = count + 1
count = count + 1
print(count)

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.

count = 0
while (count < 6):
   print('The count is:', count)
   count = count + 1
Demonstrating a Python while loop

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.

ATA = "ADAM"
for letter in ATA:
	print(letter)
	if letter == "D":
		break
Demonstrating the break statement in a Python loop

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.

ATA = "ADAM"
for letter in ATA:
	if letter == "D":
		continue
	print(letter)

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.

Using the Python continue statement

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.

for value in "adam":

Wanneer je een for-lus in Python definieert met een expressie erin, zal Python een IndentationError retourneren, zoals hieronder wordt getoond.

Error about no loop expression

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.

Using the pass statement

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?

Source:
https://adamtheautomator.com/python-loop/