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:

pythoni = 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:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # kiírja 1-et
Задание 1

A következő kódban egy programozó hibát vétett:

pythonnum = 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.

Задание 2

A következő kódban egy programozó hibát vétett:

pythonnum = 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.