Instrukcja global w Pythonie
Załóżmy, że mamy zewnętrzną globalną
zmienną i. Istnieje również funkcja
func, która dodaje do tej
zmiennej jedynkę:
i = 0
def func():
i += 1 # wyświetli błąd
return i
Po wykonaniu kodu zwrócony zostanie błąd,
ponieważ występuje konflikt między globalną
i zadeklarowaną w zewnętrznym kodzie a
lokalną i, do której dodawana jest
1, ale sama zmienna nie jest jeszcze
zadeklarowana. Aby naprawić ten
problem i sprawić, by funkcja pracowała właśnie z
zmienną globalną, należy użyć
instrukcji global. Ta instrukcja
reprezentuje deklarację, która
wykonywana jest dla całego bieżącego bloku kodu,
w którym jest zdefiniowana.
Przepiszmy poprzedni przykład, deklarując
w ciele funkcji global:
def func():
global i
i += 1
return i
print(func()) # wyświetli 1
W następnym kodzie pewien programista popełnił błąd:
num = 4
def func():
num *= 2
return num
print(func())
Co jest nie tak z tym kodem? Znajdź i popraw błąd autora kodu.
W następnym kodzie pewien programista popełnił błąd:
num = 10
def func():
num -= 3
return i
print(func())
Co jest nie tak z tym kodem? Znajdź i popraw błąd autora kodu.