Zelf functies maken
Gebruik de pijlen om tussen de dia's te wisselen.
Tekst van deze dia
PROGRAMMEREN • 3E & 4E MIDDELBAAR
Zelf functies maken
Geef jouw code een eigen naam
LES 15 • LEVEL 15
Tekst van deze dia
STARTVRAAG
Stel je dit eens voor…
Een herkenbaar probleem, een slimme oplossing.
HET VERHAAL
Je begroet telkens nieuwe spelers. Waarom steeds dezelfde regels kopiëren?
Kun je één stukje code meerdere keren oproepen?
Tekst van deze dia
ONZE MISSIE
Vandaag kan jij…
Drie doelen. Helemaal haalbaar, stap voor stap.
1
functies schrijven met def
2
een functie aanroepen
3
parameters gebruiken
EINDMISSIE • MAAK ZELF IETS!
Tekst van deze dia
NIEUW IDEE
def geeft code een naam
Eerst begrijpen wat de instructie betekent.
Schrijf de functie één keer en roep haar zo vaak aan als je wilt.
ONTHOUD
Een functie voert pas code uit wanneer je ze aanroept.
Tekst van deze dia
LIVE CODEREN
Van idee naar werkende code
Lees mee. Voorspel samen de uitvoer en voer dan uit.
les15_voorbeeld_a.py
def begroet():
print("Welkom bij Python!")
begroet()
begroet()
DENKVRAAG
Een functie voert pas code uit wanneer je ze aanroept.
Tekst van deze dia
RAAD DE UITVOER
Wat zal Python tonen?
In welke volgorde komt de uitvoer?
voorspel.py
def juich():
print("Yes!")
print("Start")
juich()
DENK → OVERLEG → ANTWOORD
Tekst van deze dia
OPLOSSING
En dit verschijnt op het scherm!
Vergelijk met je voorspelling.
uitvoer (geen Python-code)
Start
Yes!
WAAROM?
Het definiëren van een functie toont niets; de aanroep doet dat.
Tekst van deze dia
LEVEL UP
Een parameter maakt code flexibel
Een extra Python-truc waarmee je meer kunt.
Geef bij een functieaanroep een waarde mee voor de parameter.
TIP
naam is een parameter; "Mila" is een argument.
Tekst van deze dia
ZO WERKT HET
Nog een codevoorbeeld
Lees de code. Wat verandert er ten opzichte van het vorige voorbeeld?
les15_voorbeeld_b.py
def groet(naam):
print(f"Hallo {naam}!")
groet("Mila")
groet("Noor")
DE TRUC
naam is een parameter; "Mila" is een argument.
Tekst van deze dia
JIJ PROBEERT
Mini-opdrachten
Werk rustig. Test telkens na een kleine wijziging.
1
Maak een functie die “Welkom!” toont.
2
Roep de functie drie keer aan.
3
Voeg een parameter voor een naam toe.
6–8 MINUTEN • EERST ZELF
Tekst van deze dia
DEBUGCHALLENGE
Python zegt: er is iets mis!
Speel detective: zoek de fout vóór je het programma uitvoert.
zoek_de_fout.py
def groet(naam):
print("Hoi", naam)
groet()
SPOTTED DE FOUT? • 90 SECONDEN
Tekst van deze dia
DEBUG-OPLOSSING
De verbeterde versie
Kleine correcties kunnen een groot verschil maken.
gecorrigeerd.py
def groet(naam):
print("Hoi", naam)
groet("Sam")
WAT WAS FOUT?
De functie verwacht één argument: een naam.
Tekst van deze dia
EINDMISSIE
NPC-begroeter
Maak een helper die verschillende personages begroet.
1
Maak een functie welkom(naam).
2
Toon een persoonlijk bericht in de functie.
3
Roep de functie minstens drie keer aan.
4
Gebruik drie verschillende namen.
EERST WERKEND → DAN MOOIER
Tekst van deze dia
VOORBEELD
Zo kan jouw oplossing eruitzien
Er bestaan meerdere correcte oplossingen. Vergelijk vooral de aanpak.
les15_oplossing.py
def welkom(naam):
print(f"Welkom, {naam}!")
welkom("Kai")
welkom("Amina")
welkom("Noor")
Tekst van deze dia
EXTRA CHALLENGE
Klaar? Level up!
Kies één extra uitdaging of help je klasgenoot met een tip.
BONUSOPDRACHT
Voeg een tweede parameter toe voor de woonplaats.
Het werkt — Test je programma met normale invoer.
Maak het sterker — Test ook eens een onverwacht antwoord.
Maak het eigen — Pas namen, teksten of vormgeving aan.
Tekst van deze dia
CHECK-OUT
Wat neem je mee?
Antwoord zonder spiekbriefje. Je hoeft niet alles al perfect te kunnen.
1
Waarvoor staat def?
2
Wat gebeurt bij alleen een functiedefinitie?
3
Wat is een parameter?
VOLGENDE KEER Les 16: functies die iets teruggeven