Instrukcija global u Python-u

Neka imamo spoljnu globalnu promenljivu i. Takođe postoji funkcija func, koja dodaje jedinicu ovoj promenljivoj:

pythoni = 0
def func():
  i += 1 # izbaciće grešku
  return i

Nakon izvršavanja koda vratiće se greška, jer dolazi do konflikta globalne i, deklarisane u spoljnom kodu, i lokalne i, kojoj se dodaje 1, ali sama promenljiva još nije deklarisana. Da bismo ispravili ovaj problem i naveli funkciju da radi upravo sa globalnom promenljivom, potrebno je koristiti instrukciju global. Ova instrukcija predstavlja deklaraciju koja se izvršava za celokupan trenutni blok koda, u kojem je zadata.

Hajde da prepišemo prethodni primer, deklarisavši u telu funkcije global:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # ispisaće 1
Задание 1

U sledećem kodu određeni programer je napravio grešku:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Šta nije u redu sa ovim kodom? Pronađite i ispravite grešku autora koda.

Задание 2

U sledećem kodu određeni programer je napravio grešku:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Šta nije u redu sa ovim kodom? Pronađite i ispravite grešku autora koda.