De global instructie in Python

Stel we hebben een externe globale variabele i. Er is ook een functie func die hieraan eenheid toevoegt:

pythoni = 0
def func():
  i += 1 # geeft een foutmelding
  return i

Na uitvoering van de code volgt een foutmelding, omdat er een conflict is tussen de globale i, gedeclareerd in de externe code, en de lokale i, waaraan 1 wordt toegevoegd, maar de variabele zelf is nog niet gedeclareerd. Om dit probleem op te lossen en de functie met de globale variabele te laten werken, moet de instructie global worden gebruikt. Deze instructie is een declaratie die geldt voor het gehele huidige codeblok waarin het is gedefinieerd.

Laten we het vorige voorbeeld herschrijven door global in de functiebody te declareren:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # geeft 1 weer
Задание 1

In de volgende code heeft een programmeur een fout gemaakt:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Wat is er mis met deze code? Vind en verbeter de fout van de auteur van de code.

Задание 2

In de volgende code heeft een programmeur een fout gemaakt:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Wat is er mis met deze code? Vind en verbeter de fout van de auteur van de code.