Global instruktion i Python
Låt oss säga att vi har en extern global
variabel i. Det finns också en funktion
func som lägger till ett till denna
variabel:
i = 0
def func():
i += 1 # kommer att ge ett fel
return i
Efter att koden har körts returneras ett fel,
eftersom det uppstår en konflikt mellan den globala
i, deklarerad i den externa koden, och
den lokala i, till vilken 1
adderas, men variabeln i sig är ännu inte
deklarerad. För att lösa detta
problem och få funktionen att arbeta med just den
globala variabeln måste man använda
instruktionen global. Denna instruktion
är en deklaration som
gäller för hela det aktuella kodblocket
där den är definierad.
Låt oss skriva om föregående exempel och deklarera
global i funktionskroppen:
def func():
global i
i += 1
return i
print(func()) # kommer att skriva ut 1
I följande kod har en programmerare gjort ett misstag:
num = 4
def func():
num *= 2
return num
print(func())
Vad är fel med den här koden? Hitta och rätta till programmerarens fel.
I följande kod har en programmerare gjort ett misstag:
num = 10
def func():
num -= 3
return i
print(func())
Vad är fel med den här koden? Hitta och rätta till programmerarens fel.