Geef de begroeting terug
Laat welcome() de tekst Welkom bij Codelab. teruggeven.
Een programma kan dezelfde voorbereidingstijd nodig hebben in een planning, een melding en een totaaltelling. Je wilt die berekening één keer opschrijven en haar antwoord op verschillende plekken gebruiken. Een functie maakt dat mogelijk.
Een functie is een benoemd stukje code dat je kunt uitvoeren wanneer je het nodig hebt. Met def preparation_minutes(): schrijf je de definitie: je legt vast wat de functie doet. De dubbele punt en vier spaties inspringing ken je al van keuzes en lussen.
De definitie voert de ingesprongen berekening nog niet uit. Daarvoor schrijf je een aanroep, bijvoorbeeld preparation_minutes(). De lege haakjes horen bij de aanroep; in de volgende les vul je ze met invoer.
Een functie kan een retourwaarde aan de aanroeper geven. De opdracht return berekent de waarde die erachter staat, verlaat de huidige functie en levert die waarde af bij de aanroep. De aanroeper kan het antwoord bewaren, ermee rekenen of het tonen.
Dit zelfstandige voorbeeld telt drie minuten klaarzetten en vier minuten controleren op. Druk op Voorbeeld uitvoeren en volg daarna waar het getal zeven opnieuw wordt gebruikt.
def preparation_minutes():
return 3 + 4
duration = preparation_minutes()
print(duration)
print(duration * 2)7 14
duration = preparation_minutes() heeft twee kanten: eerst wordt de functie rechts aangeroepen, daarna krijgt de naam links het teruggegeven getal. De eerste print toont zeven. De tweede rekent met datzelfde gehele getal en toont veertien.
| Stap | Wat gebeurt er? |
|---|---|
| Definitie | Python onthoudt de functie; de optelling gebeurt nog niet. |
| Aanroep | De functie berekent drie plus vier. |
| Return | Zeven gaat terug naar de plek van de aanroep. |
| Verdergaan | De aanroeper bewaart en gebruikt het antwoord. |
De definitie blijft beschikbaar na de aanroep. Roep je haar opnieuw aan, dan voert Python haar code opnieuw uit. Een functie is dus geen eenmalige knop die daarna verdwijnt.
print schrijft iets naar de uitvoer; return levert iets aan de aanroeper. Dat verschil merk je zodra een volgende berekening het antwoord nodig heeft. Bekijk deze zelfstandige foutvariant en voorspel de twee uitvoerregels.
def preparation_minutes():
print(3 + 4)
duration = preparation_minutes()
print(duration)7 None
De functie toont zelf zeven, maar geeft dat getal niet terug. Bij het einde van de functie ontvangt de aanroeper daarom None, de speciale waarde voor het ontbreken van een gewone retourwaarde. print(duration) toont vervolgens None.
Bewaar het berekende getal met return als andere code ermee verder moet werken. Laat de aanroeper bepalen of hij het wil afdrukken. Zo kun je dezelfde functie later ook gebruiken op een plek waar geen bericht in de uitvoer gewenst is.
Een retourwaarde behoudt haar type: True is een boolean en "True" is tekst. Na return mag ook een berekening staan, zoals een optelling. Zodra Python een return uitvoert, stopt die aanroep; een tweede return daaronder wordt niet meer bereikt.
De opdrachten gebruiken andere functies dan het voorbeeld. De tests roepen jouw functies zelf aan en vergelijken hun antwoorden en typen. Houd daarom de opgegeven functienamen aan; alleen het verwachte antwoord printen is onvoldoende.
Laat welcome() de tekst Welkom bij Codelab. teruggeven.
Laat ready() de boolean True teruggeven.
Laat minutes() acht en zeven optellen en als int teruggeven.
Laat stop_here() eerst de tekst eerste teruggeven.
def legt een functie vast; haakjes bij haar naam voeren haar uit.return levert een waarde terug en beëindigt de huidige aanroep.print toont uitvoer; zonder retourwaarde krijgt de aanroeper None.Hierna geef je invoer aan een functie mee, zodat dezelfde berekening met verschillende waarden kan werken.
Voer je code uit en ontdek
wat je hebt gemaakt.
Je hoeft het niet in één keer goed te doen. Na het uitvoeren zie je hier welke stappen al kloppen.