Navodilo global v Pythonu
Recimo, da imamo zunanjo globalno
spremenljivko i. Prav tako obstaja funkcija
func, ki tej spremenljivki prišteje
ena:
i = 0
def func():
i += 1 # izpisalo bo napako
return i
Po izvedbi koda se bo vrnila napaka,
ker pride do konflikta med globalno
i, deklarirano v zunanji kodi, in
lokalno i, ki ji je prišteto
1, vendar sama spremenljivka še ni
deklarirana. Da to težavo popravimo in določimo, da funkcija deluje ravno z
globalno spremenljivko, je treba uporabiti
navodilo global. To navodilo
predstavlja deklaracijo, ki
se izvede za celoten trenutni blok kode,
v katerem je določena.
Prepišimo prejšnji primer in v
telesu funkcije deklarirajmo
global:
def func():
global i
i += 1
return i
print(func()) # izpisalo bo 1
V naslednji kodi je nek programer naredil napako:
num = 4
def func():
num *= 2
return num
print(func())
Kaj je narobe s to kodo? Poiščite in popravite avtorjevo napako.
V naslednji kodi je nek programer naredil napako:
num = 10
def func():
num -= 3
return i
print(func())
Kaj je narobe s to kodo? Poiščite in popravite avtorjevo napako.