Python даги global инструкцияси
Бизда ташқи глобал
ўзгарувчи i бор деб фараз қилайлик. Шунингдек, ушбу
ўзгарувчига биттани қўшадиган func функцияси ҳам бор:
i = 0
def func():
i += 1 # хатоликни чиқаради
return i
Код бажарилганидан сўнг хатолик қайтади,
чунки ташқи кодда эълон қилинган глобал
i ва унга 1 қўшилаёттан, аммо ҳали эълон қилинмаган
i локал ўзгарувчиси ўртасида зиддият юзага келади. Бу
муаммони ҳал қилиш ва функцияни айнан глобал ўзгарувчи билан ишлаши учун
global инструкциясидан фойдаланиш керак. Бу инструкция
ўзи берилган жорий код блоги учун бажариладиган эълондир.
Келгинг, олдинги мисолни функция танасида
global эълон қилиб қайта ёзайлик:
def func():
global i
i += 1
return i
print(func()) # 1 ни чиқаради
Куйидаги кодда бир программист хатолikka йўл қўйган:
num = 4
def func():
num *= 2
return num
print(func())
Бу кодда нима но tugri? Код муаллифининг хатосини топинг ва тузатинг.
Куйидаги кодда бир программист хатолikka йўл қўйган:
num = 10
def func():
num -= 3
return i
print(func())
Бу кодда нима но tugri? Код муаллифининг хатосини топинг ва тузатинг.