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:
num = 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:
num = 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:
num = 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:
num = 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.
Mi lesz a következő kód végrehajtásának eredménye:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Mi lesz a következő kód végrehajtásának eredménye:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Mi lesz a következő kód végrehajtásának eredménye:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)