Python-basis · Les 5
Functies — je eigen bouwstenen
De laatste stap van de basis: je eigen commando's maken. Een functie is een stukje code dat je één keer opschrijft en daarna zo vaak gebruikt als je wilt.
§1Een functie is een recept
Denk aan een recept in een kookboek. Je schrijft de stappen één keer op, en daarna kun je het gerecht zo vaak maken als je wilt zonder alles opnieuw te bedenken. Een functie werkt precies zo: je geeft een reeks stappen een naam, en roept ze daarna aan met die naam.
Je kent eigenlijk al functies: print(), range() en int() zijn kant-en-klare functies van Python. In deze les maak je je eigen functies.
§2def: je eigen functie maken
Met def (kort voor define, oftewel "maak") schrijf je een functie. Tussen de haakjes zet je parameters: open plekken die je later invult.
Bovenaan maak je de functie (de dubbele punt en inspringing ken je nog van les 3). Onderaan gebruik je hem. naam is een open plek: bij begroet("Sam") wordt naam even "Sam", de keer erna "Noor". Zo gebruik je hetzelfde recept met steeds andere ingrediënten.
§3return is niet hetzelfde als print
Dit is het lastigste én belangrijkste idee van de les. print() toont iets op het scherm — meer niet. return geeft een waarde terug aan je programma, zodat je er daarna mee verder kunt rekenen.
De functie dubbel geeft het dubbele terug. Maar let op wat er gebeurt als je die teruggegeven waarde nergens gebruikt:
🔮 Voorspel de uitvoer
Wat verschijnt er op het scherm?
Er verschijnt helemaal niets — het scherm blijft leeg.
De functie berekent netjes 8 en geeft dat terug met return. Maar je doet er niets mee: er is geen print(). Wil je het resultaat zien, dan moet je het printen: print(dubbel(4)) toont wél 8.
§4Functies combineren
Omdat return een echte waarde teruggeeft, kun je een functie meteen ín een andere functie stoppen. Python werkt dan van binnen naar buiten:
Eerst berekent Python de binnenste: dubbel(3) geeft 6. Die 6 gaat meteen de buitenste in: dubbel(6) geeft 12. En dat printen we. Dit werkt alleen omdat dubbel een waarde teruggeeft — met print in plaats van return zou het niet lukken.
§5Reis door een functie-aanroep
Bij def bewaart Python alleen het recept. De ingesprongen regels draaien pas wanneer je de functie aanroept. Volg hieronder twee aanroepen en kijk hoe argumenten parameters worden, lokale variabelen ontstaan en een returnwaarde terugreist.
eerste = prijs_met_korting(80, 25)def prijs_met_korting(prijs, percentage):Python-code
Aanroepstapel
De actieve functie ligt bovenop. Na return verdwijnt haar werkvak weer.
Het voorbeeld staat klaar.
—
80.prijs.§6Terugblik: dit kun je nu
In vijf lessen ben je van nul naar je eigen functies gegaan. Even alles op een rij:
| Les | Wat je leerde |
|---|---|
| Les 1 | print() en variabelen — een doosje met een etiket |
| Les 2 | datatypes: str, int, float, bool — en waarom "3" + "3" geen 6 is |
| Les 3 | keuzes met if, elif, else en vergelijken (==) |
| Les 4 | herhalen met for en while |
| Les 5 | functies: def, parameters en return |
Dat is de complete basisgereedschapskist. Bijna elk Python-programma dat je hierna schrijft, is een combinatie van precies deze vijf dingen.
🧠 Test jezelf
Vijf korte vragen, ook over de eerdere lessen. Je ziet meteen of je antwoord klopt, met uitleg.