Nimetusruumide koostoime Pythonis
Juhtub, et väline (globaalne) ja sisemine (lokaalne) muutuja omavad sama nime:
num = 1
def func():
num = 2
print(num)
Siiski on oluline mõista, et lokaalne num,
kuigi sellel on sama nimi kui globaalsel,
on Pythoni jaoks ikkagi teine muutuja.
See tähendab, et globaalset num EI
kirjutata funktsiooni sees üle, vaid see säilitab
oma algväärtuse. Funktsiooni func
kutsumisel väljastatakse konsooli
ainult lokaalse num väärtus,
ja print käsuga - globaalse
muutuja väärtus:
func() # väljastab 2
print(num) # väljastab 1
Milline on järgmise koodi täitmise tulemus:
num = 10
def func():
num = 5
return num
func()
print(num)
Milline on järgmise koodi täitmise tulemus:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Milline on järgmise koodi täitmise tulemus:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Milline on järgmise koodi täitmise tulemus:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Milline on järgmise koodi täitmise tulemus:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Milline on järgmise koodi täitmise tulemus:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Milline on järgmise koodi täitmise tulemus:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Milline on järgmise koodi täitmise tulemus:
num1 = 1
def func():
num1 = 2
print(num1)