Global instruktion i Python
Lad os sige, at vi har en ekstern global
variabel i. Der er også en funktion
func, som tilføjer én til denne
variabel:
i = 0
def func():
i += 1 # vil vise en fejl
return i
Efter udførelse af koden returneres en fejl,
fordi der er en konflikt mellem den globale
i, erklæret i den eksterne kode, og
den lokale i, som 1 tilføjes til,
men variablen er endnu ikke erklæret. For at rette dette
problem og få funktionen til at arbejde med den
globale variabel, skal vi bruge
instruktionen global. Denne instruktion
er en erklæring, som
udføres for hele den aktuelle kodeblok,
hvor den er angivet.
Lad os omskrive det forrige eksempel ved at erklære
global i funktionens krop:
def func():
global i
i += 1
return i
print(func()) # vil vise 1
I følgende kode har en programmør begået en fejl:
num = 4
def func():
num *= 2
return num
print(func())
Hvad er der galt med denne kode? Find og ret fejlen i forfatterens kode.
I følgende kode har en programmør begået en fejl:
num = 10
def func():
num -= 3
return i
print(func())
Hvad er der galt med denne kode? Find og ret fejlen i forfatterens kode.