Een functie is een takenlijst van instructie's die enkel uitgevoerd wordt wanneer ze opgeroepen wordt.
Je kan hierbij data meegeven via parameters zoals gekend bij de built-in functie's.
Een functie kan ook data teruggeven als resultaat.
We trachten taken/algoritmen/deelalgoritmen die terugkeren te voorzien als functie. Dit geeft ook meer duidelijkheid in de code. We plaatsen de functie's steeds bovenaan de code.
Met het codewoorde def kan je een functie definieren.
Voorbeeld
def mijn_functie():
print("Hallo vanuit een functie")
Voorbeeld
def mijn_functie():
print("Hallo vanuit een functie")
mijn_functie()
Resultaat
>> Hallo vanuit een functie
Informatie kan doorgegeven worden in de functie via parameters.
Parameters worden gespecifieerd achter de functie-naam binnen de haakjes. Je kan zoveel parameters toevoegen als je wil, zolang je ze maar scheidt met een komma. Parameters opgeven is niet verplicht.
In het volgende voorbeeld zie je een functie met 1 parameter (vnaam). Als we we de functie oproepen geven we de voornaam mee als argument waar we dan de familienaam in de functie dan bijplakken.
Voorbeeld
def mijn_functie(vnaam):
print(vnaam + " Janssens")
mijn_functie("Emile")
mijn_functie("Tobias")
mijn_functie("Elisabeth")
Resultaat
>> Emile Janssens
Tobias Janssens
Elisabeth Janssens
De term argumenten en parameters worden door elkaar gebruik en worden gebruikt voor hetzelfde doel: informatie doorgeven in een functie.
Als we toch duidelijkheid willen scheppen:
Een parameter is de variabele opgelijst tussen de haakjes in de definitie van de functie. Terwijl het argument de waarde is dat verstuurd wordt naar de functie wanneer ze opgeroepen wordt.
Standaard moet een functie opgeroepen worden met het correct aantal argumenten. Dus wanneer de functie 2 argumenten verwacht, moet je bij het oproepen van de functie ook 2 meegeven niet meer of niet minder.
Bij het oproepen van een functie zonder het argument, dan zal de standaardwaarde gebruikt worden.
Voorbeeld
def mijn_functie(land = "Duitsland")
print("Ik kom uit " + land)
mijn_functie("Nederland")
mijn_functie()
Resultaat
>> Ik kom uit Nederland
Ik kom uit Duitsland
Een functie kan ook een resultaat teruggeven via het return statement.
We trachten steeds functie's te voorzien zonder input en print tenzij dit echt noodzakelijk is voor het specifieke probleem.
Voorbeeld
def mijn_functie(x):
return 5 * x
print(mijn_functie(3))
print(mijn_functie(5))
print(mijn_functie(9))
Resultaat
>> 15
25
45