Python даги ўзгарувчиларнинг локал доираси
Функция ичидаги барча ўзгарувчилар локал доирага эга - улар фақат ўз функцияси доирасида мавжуд ва ташқи кодда улар билан ишлаб бўлмайди.
Бизда функция бўлиб, унинг ичида
num ўзгарувчиси мавжуд деб фараз қилайлик:
def func():
num = 2
return num
Келинг уни чақириб, num ўзгарувчисини
консолга чиқариб кўрайлик. Код бажарилганидан
сўнг хато қайтади, чунки ўзгарувчи
ташқи кодда номаълум:
func()
print(num) # хато келтиради
Куйидаги кодни бажариш натижаси қандай бўлади:
def func():
num = 1
func()
print(num)
Куйидаги кодни бажариш натижаси қандай бўлади:
def func():
num = 3
print(num)
func()
Куйидаги кодни бажариш натижаси қандай бўлади:
def func():
num = 5
return num
print(func())
Куйидаги кодни бажариш натижаси қандай бўлади:
def func():
num = 7
return num
func()
print(num)