Python - Functies

Meer doen met minder werk

Leerdoelen

  • We gaan kennis maken met functies
  • We leren dat het een andere manier is van code hergebruiken

Functies vs. Loops

  • Bij de for/while loops heb je code hergebruikt
  • De loop was afhankelijk van een variable of een lijst
  • Wat als je geen afhankelijkheid hebt?
  • Of juist meer dan 1 variabele waarvan code afhankelijk is
  • Of als code op verschillende plekken hergebruikt moet worden in je programma?
  • Dan gebruiken we functies

Functies

  • Een functie is een stuk code dat we apart zetten van het hoofdprogramma
  • We kunnen de functie op elke willekeurig moment in de code aanroepen
  • Aan een functie kunnen we waarden meegeven
  • En op zijn beurt kan een functie een waarde (uitkomst) terug geven

Functie definitie

Function declaratie

def functienaam(parameters):
  • def zegt dat dat wat komt een functie is (definition)
  • Functienaam mag je zelf kiezen, maar
    • Mag niet overeen komen met een bestaande functie
    • Mag niet de naam hebben van een gereserveerd woord
  • Parameters zijn variabelen voor de functie
    • Gescheiden door een komma

Function body

  • De body is alle ingesprongen code na de def
  • Wordt er niet meer ingesprongen dan gaat het hoofdprogramma verder
  • Inspringen is met spaties
  • Een functie kan eindigen met return
    • Return met een waarde, geeft dat terug naar het hoofdprogramma

Function call

  • Een functie kan aangeroepen (call) worden vanuit:
    • Het hoofdprogramma
    • Of uit een andere functie
  • De return waarde van een functie kan opgeslagen worden in een variabele
  • Na de functie aanroep gaat het hoofdprogramma verder waar het gebleven was

Function variables

  • Functie variabelen:
    • lokaal in de functie
    • a,b,c uit de functie bestaan niet buiten de functie
  • Hoofdprogramma variabelen:
    • bestaan wel in de functie (e)
    • Met dezelfde naam behouden hun waarde in het hoofdprogramma (a)
def add(a,b):
    c=a+b
    print(e)
    return c

a=1
e=2
d=add (5,4)
print(d)
print(a)
python.exe .\func_example.py
2
9
1

Builtin Functies

Samenvatting

  • Een functie bestaat uit een definitie, en een body
  • De definitie bestaat uit def, de functie naam en eventuele parameters
  • Body variabelen bestaan alleen in de functie
  • Hoofdprogramma variabelen zijn globaal