Nimetusruumide koostoime Pythonis

Juhtub, et väline (globaalne) ja sisemine (lokaalne) muutuja omavad sama nime:

pythonnum = 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:

pythonfunc() # väljastab 2
print(num) # väljastab 1
Задание 1

Milline on järgmise koodi täitmise tulemus:

pythonnum = 10

def func():
  num = 5
  return num

func()
print(num)
Задание 2

Milline on järgmise koodi täitmise tulemus:

pythonnum = 3

def func():
  num = 4
  return num

num = func()
print(num)
Задание 3

Milline on järgmise koodi täitmise tulemus:

pythonnum = 1

def func():
  num = 2
  return 1

num = func()
print(num)
Задание 4

Milline on järgmise koodi täitmise tulemus:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num1)
Задание 5

Milline on järgmise koodi täitmise tulemus:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num2)
Задание 6

Milline on järgmise koodi täitmise tulemus:

pythonnum1 = 1

def func():
  num2 = 2

func()
num2 = 3
print(num2)
Задание 7

Milline on järgmise koodi täitmise tulemus:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

func()
print(num2)
Задание 8

Milline on järgmise koodi täitmise tulemus:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)