Functies zijn een fundamenteel concept in Python en in veel andere programmeertalen. Ze maken het mogelijk om code op te splitsen in herbruikbare blokken, wat je programma overzichtelijker en onderhoudbaarder maakt. In dit hoofdstuk leer je hoe je functies kunt schrijven en gebruiken in Python, stap voor stap.
Een functie is een blok code dat alleen wordt uitgevoerd wanneer het wordt aangeroepen. Functies helpen om code te organiseren en te vermijden dat je dezelfde code meerdere keren moet schrijven. In Python definieer je een functie met het sleutelwoord def
, gevolgd door de naam van de functie en een set haakjes ()
.
De meest functies voeren een specifieke taak uit, maar doen altijd hetzelfde.
Voorbeeld:
def begroeting():
print("Hallo, welkom bij dit programma!")
# Aanroepen van de functie
begroeting()
Uitleg:
begroeting()
wordt gedefinieerd met def
, gevolgd door de naam begroeting
en een paar lege haakjes ()
.print("Hallo, welkom bij dit programma!")
) wordt ingesprongen onder de definitie.()
.Soms wil je dat een functie een waarde teruggeeft nadat ze haar taak heeft uitgevoerd. Dit doe je met het sleutelwoord return
. De waarde die je wilt teruggeven, wordt aangegeven na return
.
Voorbeeld:
def verkrijg_begroeting():
return "Hallo, welkom bij dit programma!"
# Aanroepen van de functie en het resultaat opslaan
bericht = verkrijg_begroeting()
print(bericht)
Uitleg:
verkrijg_begroeting()
wordt gedefinieerd. In plaats van direct iets af te drukken, geeft deze functie een waarde terug met return
."Hallo, welkom bij dit programma!"
.bericht
, die vervolgens kan worden gebruikt, zoals bij het afdrukken in dit voorbeeld.Functies worden krachtiger en flexibeler wanneer ze argumenten accepteren. Argumenten zijn waarden die je aan de functie doorgeeft wanneer je deze aanroept. De functie kan deze waarden gebruiken om haar taak uit te voeren en kan vervolgens een resultaat teruggeven.
Voorbeeld:
def vermenigvuldig(getal1, getal2):
resultaat = getal1 * getal2
return resultaat
# Aanroepen van de functie met argumenten en het resultaat opslaan
uitkomst = vermenigvuldig(5, 3)
print(uitkomst)
Uitleg:
vermenigvuldig(getal1, getal2)
wordt gedefinieerd met twee parameters: getal1
en getal2
. Deze parameters fungeren als plaatsvervangers voor de waarden die je bij het aanroepen van de functie doorgeeft.getal1
en getal2
) en geeft het resultaat terug met return
.vermenigvuldig(5, 3)
aanroept, worden de waarden 5
en 3
doorgegeven aan de parameters getal1
en getal2
, en de functie retourneert het product van deze twee getallen, dat vervolgens wordt opgeslagen in de variabele uitkomst
.Python zelf bevat ook functies, zoals print
. Nu je zelf functies kan toevoegen, kan je python dus uitbreiden met de dingen die je nodig hebt in jou programma.
Je kan trouwens ook functies in functies zetten. Het laatste voorbeeld zou je dus ook zo kunnen schrijven:
print(vermenigvuldig(5, 3))
Schrijf een functie begroet()
die de tekst “Goedendag!” afdrukt. Roep de functie daarna drie keer aan.
Verwachte Output:
Goedendag!
Goedendag!
Goedendag!
Schrijf een functie verdubbel()
die een getal verdubbelt en het resultaat teruggeeft. Roep de functie aan met het getal 8 en druk het resultaat af.
Verwachte Output:
16
Schrijf een functie welkom()
die een naam als argument neemt en een persoonlijk welkomstbericht afdrukt in de vorm van “Welkom, [naam]!”.
Verwachte Output (voorbeeld):
Welkom, Alice!
Schrijf een functie bereken_oppervlakte()
die de lengte en breedte van een rechthoek als argumenten neemt en de oppervlakte berekent en teruggeeft. Roep de functie aan met lengte 5 en breedte 3, en druk het resultaat af.
Verwachte Output:
15
Schrijf een functie vind_grootste()
die drie getallen als argumenten neemt en het grootste getal teruggeeft. Roep de functie aan met de getallen 4, 7 en 2, en druk het resultaat af.
Verwachte Output:
7
Schrijf een functie som_van_kwadraten()
die een lijst van getallen als argument neemt en de som van de kwadraten van deze getallen teruggeeft. Roep de functie aan met de lijst [1, 2, 3, 4]
en druk het resultaat af.
Verwachte Output:
30
Schrijf een functie bereken_gemiddelde()
die een Numpy-array als argument neemt en het gemiddelde van de getallen in de array teruggeeft. Roep de functie aan met de array np.array([10, 20, 30, 40, 50])
en druk het resultaat af.
Verwachte Output:
30.0
Schrijf een functie standaardafwijking()
die een lijst van getallen als argument neemt en de standaardafwijking van deze getallen berekent en teruggeeft. Roep de functie aan met de lijst [4, 8, 6, 5, 3]
en druk het resultaat af.
Verwachte Output:
1.87 (afgerond tot twee decimalen)
Schrijf een functie matrix_vermenigvuldiging()
die twee Numpy-matrices als argumenten neemt en hun product teruggeeft. Roep de functie aan met de matrices [[1, 2], [3, 4]]
en [[5, 6], [7, 8]]
, en druk het resultaat af.
Verwachte Output:
[[19 22]
[43 50]]
Schrijf een functie factorial()
die een geheel getal als argument neemt en de factorial van dat getal berekent en teruggeeft. Roep de functie aan met het getal 5
en druk het resultaat af.
Verwachte Output:
120
Schrijf een functie teken_vierkant()
die een vierkant tekent met een gegeven zijde lengte. Gebruik de Turtle module om het vierkant te tekenen. Roep de functie meerdere keren aan. De eerste keer met een zijde van 100 pixels, en vervolgens maak je de zijde telkens 10 pixels kleiner. Hoe zorg je ervoor dat het centrum van alle vierkanten hetzelfde is?
Schrijf een functie teken_ster()
die een ster tekent met een gegeven aantal punten en een specifieke lengte voor de lijnen. Gebruik de Turtle module om de ster te tekenen. Roep de functie aan met 5 punten en een lijnlengte van 150.
Schrijf een functie teken_cirkels()
die een reeks concentrische cirkels tekent. De functie moet het aantal cirkels en de toename in straal tussen opeenvolgende cirkels accepteren. Gebruik de Turtle module om de cirkels te tekenen. Roep de functie aan met 5 cirkels en een toename van 20 in straal.