A global utasítás a Pythonban
Tegyük fel, hogy van egy külső globális
változónk i. Van egy func
függvényünk is, amely ehhez a változóhoz
hozzáad egyet:
i = 0
def func():
i += 1 # hibát jelez
return i
A kód végrehajtása után hibaüzenetet kapunk,
mert ütközés van a külső kódban deklarált globális
i és a lokális i változó között,
amelyhez 1 hozzáadódik, de maga a változó
még nincs deklarálva. A probléma megoldásához
és annak biztosításához, hogy a függvény a globális
változóval dolgozzon, a global utasítást
kell használni. Ez az utasítás egy deklaráció,
amely a teljes aktuális kódrészletre érvényes,
amelyben meg van adva.
Írjuk át az előző példát a global
deklarálásával a függvény törzsében:
def func():
global i
i += 1
return i
print(func()) # kiírja 1-et
A következő kódban egy programozó hibát vétett:
num = 4
def func():
num *= 2
return num
print(func())
Mi a baj ezzel a kóddal? Keresse meg és javítsa ki a kód szerzőjének hibáját.
A következő kódban egy programozó hibát vétett:
num = 10
def func():
num -= 3
return i
print(func())
Mi a baj ezzel a kóddal? Keresse meg és javítsa ki a kód szerzőjének hibáját.