Доираҳои дастрасии тағирёбандаҳо дар Python

Ҳолате рух медиҳад, ки тағирёбандаи берунӣ (глобалӣ) ва тағирёбандаи дохилӣ (локалӣ) як ном доранд:

pythonnum = 1

def func():
  num = 2
  print(num)

Дар ин ҳолат муҳим аст, ки фаҳмида шавад, ки num-и локалӣ ҳамчунон ки номи якхела дорад, аммо барои Python тағирёбандаи дигар аст. Ин маънои онро дорад, ки num-и глобалӣ дар дохили функсия НОБАЗНАВИСӢ намешавад, ва қимати ибтидоии худро нигоҳ медорад. Ҳангоми даъват кардани функсияи func ба консоли танҳо қимати num-и локалӣ ба намоиш гузошта мешавад, ва тавассути print - қимати тағирёбандаи глобалӣ:

pythonfunc() # 2-ро чоп мекунад
print(num) # 1-ро чоп мекунад
Задание 1

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum = 10

def func():
  num = 5
  return num

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum = 3

def func():
  num = 4
  return num

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum = 1

def func():
  num = 2
  return 1

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum1 = 1

def func():
  num2 = 2

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum1 = 1

def func():
  num2 = 2

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum1 = 1

def func():
  num2 = 2

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

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

Натиҷаи иҷрои коди зерин чӣ хоҳад буд:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)