🧠 Denkoefening - Wie ben ik?
Kijk naar het volgende codevoorbeeld:
ik = 'Anna' def naam(ik): ik = 'Bob' print('Mijn naam is ' + ik) naam('Charlotte')Welke naam denk je dat er geprint wordt?
In het vorige voorbeeld wordt de variabele ik meerdere keren gedefinieerd. Toch heeft de variabele ik maar één waarde wanneer ze in de print-functie gebruikt wordt. Dat komt omdat elke variabele een bereik heeft, de zogenaamde scope. We noemen variabelen die een bepaald bereik hebben lokale variabelen. In Python zijn alle variabelen lokaal, tenzij anders aangeduid.
![]()
❗ Begrip - Bereik van een variabele
Het bereik van een variabele, ook vaak scope genoemd, is het deel van de code in een computerprogramma waar die variabele gedefinieerd is.
In functies is het gebruik van variabelen erg interessant. Alle variabelen zijn lokaal gedefinieerd in de functie. Dit betekent dus dat ze, net zoals de parameters van de functie, niet buiten de functie gebruikt kunnen worden.
Variabelen die buiten de functie gedefinieerd zijn, kunnen ook binnen de functie gebruikt worden, zolang er geen andere variabele binnen de functie is met dezelfde naam.
👀 Voorbeeld - Binnen en buiten
Bekijk het volgende stukje code. We definiëren een variabele
buitenbuiten de functie, en een variabelebinnenbinnen de functie.buiten = 'buiten' def functie(): binnen = 'binnen' print(buiten) print(binnen) # DIT KAN NIET: # buiten = 'tafel' functie() print(buiten) # DIT KAN NIET: # print(binnen)Je kan de variabele
buitengebruiken binnen de functie, maar niet aanpassen. Je kan de variabelebuitenook steeds gebruiken buiten de functie. Je kan de variabele binnen enkel gebruikenbinnende functie, waar je ze ook kan aanpassen.