A hatókörök Pythonban való használatának finomságai

Nézzük meg a lokális és globális változók használatának fontos finomságait.

Tegyük fel, hogy van egy globális num változónk. Készítsünk egy func függvényt, ami a globális num értékét kiírja a konzolra:

pythonnum = 1

def func():
  print(num)

func() # kiírja az 1-et

Most deklaráljunk egy lokális num változót a print sor alatt. A kód végrehajtása után hibaüzenet jelenik meg a konzolon. Ennek oka az, hogy a Python a függvényen belül a num-ot csak lokális változóként értelmezi, amely még nem volt deklarálva:

pythonnum = 1

def func():
  print(num) # hibát fog kiírni
  num = 2

Most írjuk át a függvényen belüli kódot úgy, hogy a num változó értéke 2-vel nőjjön:

pythonnum = 1

def func():
  num += 2 # hibát fog kiírni

A hiba oka az, hogy a num += 2 kifejezés a következő felíratnak felel meg:

pythonnum = num + 2

Azonban maga a lokális változó, amelyhez hozzáadás történik, még nincs deklarálva. És ennek megfelelően a Python hibát jelez, mivel nem lehet számot hozzáadni egy még nem létező értékhez.

Задание 1

Mi lesz a következő kód végrehajtásának eredménye:

pythontst = '12'

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

Mi lesz a következő kód végrehajtásának eredménye:

pythontst = 'abc'

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

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

Mi lesz a következő kód végrehajtásának eredménye:

pythontst = 'abc'

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