Skip to main content

Functies

Een functie is een blok code dat je een naam geeft. Je kunt het daarna zo vaak uitvoeren als je wilt, zonder alles opnieuw te typen.

Waarom functies?

Stel je wilt op meerdere plekken een begroeting printen:

print("==================")
print("Welkom bij het spel!")
print("==================")

# ... later in je code ...

print("==================")
print("Welkom bij het spel!")
print("==================")

Dat is veel herhaling. Met een functie doe je dit:

def welkom():
print("==================")
print("Welkom bij het spel!")
print("==================")

# Nu roep je de functie aan waar je wilt
welkom()

# ... later in je code ...
welkom()

Een functie maken

Je maakt een functie met def, een naam, en ():

def zeg_hallo():
print("Hallo!")
print("Fijn dat je er bent.")

# Aanroepen
zeg_hallo()
Let op

De code in de functie moet inspringen (4 spaties), net als bij if en for.

Meerdere functies

Je kunt zoveel functies maken als je wilt:

def lijn():
print("----------")

def titel():
lijn()
print("Mijn Programma")
lijn()

titel()

Oefening 1

Maak een functie sterren die een rij van 20 sterretjes print. Roep de functie 3 keer aan.

def sterren():
  ...

sterren()
print("Hallo!")
sterren()
print("Welkom!")
sterren()
💡 Tip

In de functie gebruik je print("*" * 20) om 20 sterretjes te printen.

✅ Oplossing
def sterren():
print("*" * 20)

sterren()
print("Hallo!")
sterren()
print("Welkom!")
sterren()

Oefening 2

Maak een functie vierkant die een vierkant van 5x5 sterretjes print.

def vierkant():
  ...

vierkant()
💡 Tip

Gebruik een for-loop in je functie: for i in range(5): en print elke keer "*" * 5.

✅ Oplossing
def vierkant():
for i in range(5):
print("*" * 5)

vierkant()

Oefening 3

Maak twee functies: kop en staart. De functie kop print een lijn en een titel, de functie staart print alleen een lijn. Gebruik ze om dit te maken:

====================
Mijn eerste spel
====================
Druk op start...
====================
def kop():
  ...

def staart():
  ...

kop()
print("Druk op start...")
staart()
💡 Tip

In kop() print je de lijn ("=" * 20), dan de titel, dan weer de lijn. In staart() print je alleen de lijn.

✅ Oplossing
def kop():
print("=" * 20)
print(" Mijn eerste spel")
print("=" * 20)

def staart():
print("=" * 20)

kop()
print("Druk op start...")
staart()