Global instruksjon i Python
La oss si at vi har en ekstern global
variabel i. Det er også en funksjon
func som legger til én til denne
variabelen:
i = 0
def func():
i += 1 # vil gi en feil
return i
Etter at koden er utført, returneres en feil,
fordi det oppstår en konflikt mellom den globale
i, deklarert i den eksterne koden, og
den lokale i, som 1 legges til,
men variabelen selv er ikke deklarert ennå. For å løse dette
problemet og få funksjonen til å arbeide med den
globale variabelen, må vi bruke
instruksjonen global. Denne instruksjonen
er en deklarasjon som
utføres for hele den gjeldende kodeblokken
den er definert i.
La oss omskrive forrige eksempel ved å deklarere
global i funksjonskroppen:
def func():
global i
i += 1
return i
print(func()) # vil skrive ut 1
I følgende kode har en programmerer gjort en feil:
num = 4
def func():
num *= 2
return num
print(func())
Hva er galt med denne koden? Finn og rett opp feilen forfatteren av koden har gjort.
I følgende kode har en programmerer gjort en feil:
num = 10
def func():
num -= 3
return i
print(func())
Hva er galt med denne koden? Finn og rett opp feilen forfatteren av koden har gjort.