Nyanser av arbeid med virkeområder i Python

La oss vurdere viktige nyanser ved arbeid med lokale og globale variabler.

Anta at vi har en global variabel num. La oss opprette en funksjon func som vil skrive den globale num til konsollen:

pythonnum = 1

def func():
  print(num)

func() # vil skrive ut 1

Og la oss deklarere en lokal num på linjen under funksjonen print. Etter utførelse av koden vil en feil skrives ut til konsollen. Dette skjer fordi Python innenfor funksjonen oppfatter num kun som en lokal variabel som ennå ikke er deklarert:

pythonnum = 1

def func():
  print(num) # vil skrive ut feil
  num = 2

La oss nå omskrive koden inne i funksjonen så verdien av variabelen num økes med 2:

pythonnum = 1

def func():
  num += 2 # vil skrive ut feil

Feilen er forårsaket av at uttrykket num += 2 representerer følgende notasjon:

pythonnum = num + 2

Imidlertid er den lokale variabelen som det legges til ennå ikke deklarert. Og følgelig viser Python en feil, siden det ikke er mulig å legge til et tall til en ikke-eksisterende verdi.

Задание 1

Hva blir resultatet av utførelsen av følgende kode:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

Hva blir resultatet av utførelsen av følgende kode:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

Hva blir resultatet av utførelsen av følgende kode:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)