Global instrukcija Python

Pieņemsim, ka mums ir ārējais globālais mainīgais i. Ir arī funkcija func, kas šim mainīgajam pievieno vienu:

pythoni = 0
def func():
  i += 1 # izvadīs kļūdu
  return i

Pēc koda izpildes tiks atgriezta kļūda, jo notiek konflikts starp globālo i, kas deklarēts ārējā kodā, un lokālo i, kuram tiek pievienots 1, bet pats mainīgais vēl nav deklarēts. Lai izlabētu šo problēmu un nodrošinātu, ka funkcija strādā tieši ar globālo mainīgo, ir jāizmanto instrukcija global. Šī instrukcija ir deklarācija, kas tiek izpildīta visam pašreizējam koda blokam, kurā tā ir iestatīta.

Pārrakstīsim iepriekšējo piemēru, deklarējot funkcijas pamattekstā global:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # izvadīs 1
Задание 1

Šajā kodā kāds programmētājs ir pieļāvis kļūdu:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Kas šajā kodā ir nepareizi? Atrodiet un izlabojiet koda autora kļūdu.

Задание 2

Šajā kodā kāds programmētājs ir pieļāvis kļūdu:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Kas šajā kodā ir nepareizi? Atrodiet un izlabojiet koda autora kļūdu.