Доираҳои дастрасии тағирёбандаҳо дар Python
Ҳолате рух медиҳад, ки тағирёбандаи берунӣ (глобалӣ) ва тағирёбандаи дохилӣ (локалӣ) як ном доранд:
num = 1
def func():
num = 2
print(num)
Дар ин ҳолат муҳим аст, ки фаҳмида шавад, ки num-и локалӣ
ҳамчунон ки номи якхела дорад, аммо барои Python тағирёбандаи дигар аст.
Ин маънои онро дорад, ки num-и глобалӣ
дар дохили функсия НОБАЗНАВИСӢ намешавад,
ва қимати ибтидоии худро нигоҳ медорад. Ҳангоми даъват кардани
функсияи func ба консоли танҳо қимати
num-и локалӣ ба намоиш гузошта мешавад,
ва тавассути print - қимати тағирёбандаи
глобалӣ:
func() # 2-ро чоп мекунад
print(num) # 1-ро чоп мекунад
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num = 10
def func():
num = 5
return num
func()
print(num)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Натиҷаи иҷрои коди зерин чӣ хоҳад буд:
num1 = 1
def func():
num1 = 2
print(num1)