De global instructie in Python
Stel we hebben een externe globale
variabele i. Er is ook een functie
func die hieraan eenheid toevoegt:
i = 0
def func():
i += 1 # geeft een foutmelding
return i
Na uitvoering van de code volgt een foutmelding,
omdat er een conflict is tussen de globale
i, gedeclareerd in de externe code, en
de lokale i, waaraan 1 wordt
toegevoegd, maar de variabele zelf is nog niet
gedeclareerd. Om dit probleem op te lossen en
de functie met de globale variabele te laten
werken, moet de instructie global worden
gebruikt. Deze instructie is een declaratie
die geldt voor het gehele huidige codeblok
waarin het is gedefinieerd.
Laten we het vorige voorbeeld herschrijven door
global in de functiebody te declareren:
def func():
global i
i += 1
return i
print(func()) # geeft 1 weer
In de volgende code heeft een programmeur een fout gemaakt:
num = 4
def func():
num *= 2
return num
print(func())
Wat is er mis met deze code? Vind en verbeter de fout van de auteur van de code.
In de volgende code heeft een programmeur een fout gemaakt:
num = 10
def func():
num -= 3
return i
print(func())
Wat is er mis met deze code? Vind en verbeter de fout van de auteur van de code.