Je hebt geleerd hoe je functies gebruikt in een programma. Soms is het ook handig om je eigen functies te programmeren. Hier zijn een aantal redenen voor:
In het onderstaande diagram wordt een functie getoond.
De vertaling van dit schema naar pseudocode ziet er als volgt uit:
def functienaam(parameter1, parameter2, ...):
python statement
python statement
...
return retourwaarde
De syntax van een functie bestaat uit de volgende delen:
def
: begint de functiedefinitie.functienaam
: zelfgekozen naam (geen hoofdletters, underscore om meerdere woorden te verbinden enz.)parameters
: variabelen die de waarden van argumenten die je aan de functie meegeeft bewaren.:
: na het dubbelpunt komt het binnenste van de functie. Statements, controlestructuren enz.return
: zorgt voor het teruggeven van een retourwaarde aan de plek waar de functie is opgeroepen.De blackbox uit het schema vertaal je in de pseudocode door Python statements. In het binnenste van een functie kan je alle controlestructuren gebruiken, maar ook ingebouwde functies, andere zelf-gedefinieerde functies enz.
Een functie is dus een soort van op zichzelf staand programma waarbij de parameters invoerwaarden bijhouden en je via het
sleutelwoord return
een waarde teruggeeft. Een beetje naar analogie van input()
en print()
. De black-box stelt dan
de bewerkingen voor tussen invoer en uitvoer.
In onderstaand voorbeeld zie je de functie aantal_wortels()
. De parameters zijn a
, b
en c
. De functie bepaalt
op hoeveel plaatsen de grafiek van een tweedegraadsfunctie \(f\) de X-as snijdt.
def aantal_wortels(a, b, c):
determinant = (b ** 2) - (4 * a * c)
wortels = "2 wortels"
if determinant < 0:
wortels = "geen wortels"
elif determinant == 0:
wortels = "1 wortel"
return wortels