Podrobnosti delovanja obsegov vidnosti v Pythonu

Oglejmo si pomembne podrobnosti dela z lokalnimi in globalnimi spremenljivkami.

Recimo, da imamo globalno spremenljivko num. Ustvarimo funkcijo func, ki bo izpisala globalno num v konzolo:

pythonnum = 1

def func():
  print(num)

func() # izpiše 1

Zdaj pa deklarirajmo lokalno num v vrstici pod funkcijo print. Po izvedbi kode se bo v konzoli izpisala napaka. Do tega pride, ker Python znotraj funkcije dojema num samo kot lokalno spremenljivko, ki še ni bila deklarirana:

pythonnum = 1

def func():
  print(num) # izpiše napako
  num = 2

Zdaj pa prepišimo kodo znotraj funkcije tako, da se vrednost spremenljivke num poveča za 2:

pythonnum = 1

def func():
  num += 2 # izpiše napako

Napaka je povzročena, ker izraz num += 2 predstavlja naslednji zapis:

pythonnum = num + 2

Vendar sama lokalna spremenljivka, kateri se prišteva, še ni deklarirana. in zato Python izpiše napako, saj ni mogoče prišteti števila k neobstoječi vrednosti.

Задание 1

Kakšen bo rezultat izvajanja naslednje kode:

pythontst = '12'

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

Kakšen bo rezultat izvajanja naslednje kode:

pythontst = 'abc'

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

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

Kakšen bo rezultat izvajanja naslednje kode:

pythontst = 'abc'

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