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

Ҳамаи тағирёбандаҳое, ки дар дохили функсия ҷойгиранд, доираи дидабарии ба онҳо такя менамоянд, ки онро доираи маҳаллии дидабарӣ меноманд - онҳо фақат дар дохили функсияи худ дастрас буда, ва дар коди беруна бо онҳо кор кардан мумкин нест.

Бигзор мо функсияе дошта бошем, ки дар дохили он тағирёбандаи num мавҷуд аст:

pythondef func():
  num = 2
  return num

Биёед онро фаро бихонем ва кӯшиш кунем, ки тағирёбандаи num-ро ба консоли чоп кунем. Пас аз иҷрои код хатогии 'NameError' баргардонида мешавад, зеро тағирёбанда дар коди беруна номаълум аст:

pythonfunc()
print(num) # хатогии 'NameError' медиҳад
Задание 1

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

pythondef func():
  num = 1

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

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

pythondef func():
  num = 3
  print(num)

func()
Задание 3

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

pythondef func():
  num = 5
  return num

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

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

pythondef func():
  num = 7
  return num

func()
print(num)