Interactie van naamruimten in Python
Er zijn gevallen waarin een externe (globale) en een interne (lokale) variabele dezelfde naam hebben:
num = 1
def func():
num = 2
print(num)
Het is hierbij belangrijk te begrijpen dat de lokale num,
hoewel deze dezelfde naam heeft als de globale,
voor Python een andere variabele is.
Dit betekent dat de globale num NIET
overschreven wordt binnen de functie, maar zijn
oorspronkelijke waarde behoudt. Bij het aanroepen
van de functie func wordt alleen de waarde
van de lokale num naar de console uitgevoerd,
en via print - de waarde van de globale
variabele:
func() # geeft 2
print(num) # geeft 1
Wat wordt het resultaat van de volgende code:
num = 10
def func():
num = 5
return num
func()
print(num)
Wat wordt het resultaat van de volgende code:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Wat wordt het resultaat van de volgende code:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Wat wordt het resultaat van de volgende code:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Wat wordt het resultaat van de volgende code:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Wat wordt het resultaat van de volgende code:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Wat wordt het resultaat van de volgende code:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Wat wordt het resultaat van de volgende code:
num1 = 1
def func():
num1 = 2
print(num1)