pythonzomerschool

Week 1 · Les 5 · Python-basis

Functies — je eigen bouwstenen

De laatste stap van deze week: 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.

def begroet(naam): print("Hoi " + naam) begroet("Sam") begroet("Noor")
Hoi Sam Hoi Noor

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.

def dubbel(getal): return getal * 2

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?

def dubbel(getal): return getal * 2 dubbel(4)

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:

def dubbel(getal): return getal * 2 print(dubbel(dubbel(3)))
12

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.

§5Terugblik: dit kun je nu

In één week ben je van nul naar je eigen functies gegaan. Even alles op een rij:

LesWat je leerde
Les 1print() en variabelen — een doosje met een etiket
Les 2datatypes: str, int, float, bool — en waarom "3" + "3" geen 6 is
Les 3keuzes met if, elif, else en vergelijken (==)
Les 4herhalen met for en while
Les 5functies: 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. Goed bezig! 🎉

🧠 Test jezelf

Vijf korte vragen — een paar blikken terug op de hele week. Fout is niet erg, daar leer je van!