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:

pythoni = 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:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # do të shfaqë 1
Задание 1

Në kodin vijues një programist ka bërë një gabim:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Çfarë nuk shkon me këtë kod? Gjeni dhe korrigjoni gabimin e autorit të kodit.

Задание 2

Në kodin vijues një programist ka bërë një gabim:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Çfarë nuk shkon me këtë kod? Gjeni dhe korrigjoni gabimin e autorit të kodit.