Programma opdelen in functies
Je hebt tot nu toe steeds heel kleine programma’s geschreven van misschien maximaal 20 regels code. Als je grotere programma’s gaat schrijven zul je zien dat code al snel onoverzichtelijk en onduidelijk wordt. Om toch weer structuur aan te brengen ga je nu leren hoe je een programma kunt opdelen in functies.
Voordelen van functies
Je hebt al kennis gemaakt met functies in Python, denk maar eens aan de tekenvierkant functie in Python 0:
De functie heeft hier meerdere voordelen:
In de naam van de functie kun je ziet wat hij doet (overzicht)
Je kunt de code in de functie steeds opnieuw gebruiken
Als je iets wilt wijzigen hoef je dat maar op een plek te doen (minder kans op foutjes)
Voor de structuur van je programma is de eerste eigenschap heel belangrijk:
De naam van een functie vertelt je wat deze doet.
Waarom is dat nou belangrijk? Code die gemaakt wordt meestal maar 1 keer geschreven en daarna heel vaak gelezen. Door jezelf, maar ook door anderen! Goed leesbare code is veel makkelijker te onderhouden.
Voorbeeldprogramma: Todolijstje
Introductie
Voor het maken van een todolijstje kun je bijvoorbeeld het volgende doen (in pseudo code, dus geen echte code!):
Hier zie je in stapjes wat je programma gaat doen. Vaak kun je dat dan direct omzetten in functies! Dus het hoofddeel van je programma ziet er dan zo uit:
Simpel he?
Volledige programma: Todolijst
Wat we nu nog moeten doen is het maken van de functies en ons todolijstje en de items.
Je ziet nu onderin je code welke stappen het programma zet. Dit zijn maar 7 regels code dus erg overzichtelijk. Erboven kun je dan zien hoe de functies de stapjes precies uitvoeren.
Sleutelwoord: global
Je ziet een nieuw woord in de code staan: global
. Dit is in dit programma nodig omdat we geen parameters hebben gebruikt. global
zorgt ervoor dat je variabelen die je bovenin je programma hebt gedefinieerd kunt veranderen in je functie. In de volgende Python module ga je leren hoe je dit netter kan doen zonder global
te gebruiken.
In deze module gaan we er verder niet op in waarom we dat precies nodig hebben. Als je wilt weten hoe het ZONDER global kan, ga dan eens zoeken op parameters
, return
, lokale en globale variabelen. Of vraag het aan je docent!
Nawoord: Veel meer code?
Natuurlijk hadden we veel minder code kunnen gebruiken als we geen functies hadden gemaakt. Een todolijstje maken is ook een simpel probleem. Dus we proberen je hier te leren hoe je een probleem opdeelt in stukjes en het programma leesbaar houdt. Dit is meestal belangrijker dan dat je weinig code schrijft.
Last updated
Was this helpful?