Příkaz global v Pythonu
Předpokládejme, že máme vnější globální
proměnnou i. Také existuje funkce
func, která k této proměnné přičte
jedničku:
i = 0
def func():
i += 1 # vypíše chybu
return i
Po provedení kodu vrátí chybu,
protože dochází ke konfliktu globální
proměnné i, deklarované ve vnějším kódu, a
lokální proměnné i, ke které se přičítá
1, ale samotná proměnná ještě není
deklarována. K nápravě tohoto
problému a nastavení funkce pro práci právě s
globální proměnnou je třeba použít
příkaz global. Tento příkaz
představuje deklaraci, která
se provádí pro celý aktuální blok kodu,
ve kterém je zadán.
Přepišme předchozí příklad deklarací
v těle funkce global:
def func():
global i
i += 1
return i
print(func()) # vypíše 1
V následujícím kódu nějaký programátor udělal chybu:
num = 4
def func():
num *= 2
return num
print(func())
Co je špatně na tomto kódu? Najděte a opravte chybu autora kódu.
V následujícím kódu nějaký programátor udělal chybu:
num = 10
def func():
num -= 3
return i
print(func())
Co je špatně na tomto kódu? Najděte a opravte chybu autora kódu.