Udhëzimi global në Python
Le të themi se kemi një variabël global të jashtëm
i. Gjithashtu ka një funksion
func i cili i shton njësi këtij
variabli:
i = 0
def func():
i += 1 # do të shfaqë gabim
return i
Pas ekzekutimit të kodit do të kthehet një gabim,
sepse ndodh një konflikt midis i globale
të deklaruar në kodin e jashtëm, dhe
i lokale, së cilës i shtohet
1, por vetë variabli ende nuk
është deklaruar. Për të rregulluar këtë
problem dhe për t'i caktuar funksionit punën me
variablin global, duhet përdorur
udhëzimin global. Ky udhëzim
përfaqëson një deklaratë e cila
ekzekutohet për të gjithë bllokun aktual të kodit,
në të cilin është caktuar.
Le të rishkruajmë shembullin e mëparshëm, duke deklaruar
në trupin e funksionit global:
def func():
global i
i += 1
return i
print(func()) # do të shfaqë 1
Në kodin vijues një programist ka bërë një gabim:
num = 4
def func():
num *= 2
return num
print(func())
Çfarë nuk shkon me këtë kod? Gjeni dhe korrigjoni gabimin e autorit të kodit.
Në kodin vijues një programist ka bërë një gabim:
num = 10
def func():
num -= 3
return i
print(func())
Çfarë nuk shkon me këtë kod? Gjeni dhe korrigjoni gabimin e autorit të kodit.