Instrukcija global u Python-u
Neka imamo spoljnu globalnu
promenljivu i. Takođe postoji funkcija
func, koja dodaje jedinicu ovoj
promenljivoj:
i = 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:
def func():
global i
i += 1
return i
print(func()) # ispisaće 1
U sledećem kodu određeni programer je napravio grešku:
num = 4
def func():
num *= 2
return num
print(func())
Šta nije u redu sa ovim kodom? Pronađite i ispravite grešku autora koda.
U sledećem kodu određeni programer je napravio grešku:
num = 10
def func():
num -= 3
return i
print(func())
Šta nije u redu sa ovim kodom? Pronađite i ispravite grešku autora koda.