Python-dagi global instruksiyasi
Faraz qilaylik, bizda tashqi global
o'zgaruvchi i mavjud. Shuningdek, ushbu
o'zgaruvchiga bittani qo'shadigan func
funksiyasi mavjud:
i = 0
def func():
i += 1 # xatolik chiqaradi
return i
Kod bajarilgandan so'ng, xatolik qaytadi,
chunki tashqi kodda e'lon qilingan global
i va 1 qo'shilayotgan, lekin
o'zgaruvchi hali e'lon qilinmagan lokal
i o'rtasida ziddiyat yuzaga keladi. Ushbu
muammoni hal qilish va funksiyani aniq global
o'zgaruvchi bilan ishlashini belgilash uchun
global instruksiyasidan foydalanish kerak.
Ushbu instruksiya belgilangan joriy kod bloki
uchun bajariladigan e'lon hisoblanadi.
Keling, oldingi mislni global ni funksiya
tanaqismida e'lon qilib, qayta yozamiz:
def func():
global i
i += 1
return i
print(func()) # 1 chiqaradi
Quyidagi kodda ma'lum bir dasturchi xatolik qildi:
num = 4
def func():
num *= 2
return num
print(func())
Ushbu kodda nima noto'g'ri? Kod muallifining xatosini toping va tuzating.
Quyidagi kodda ma'lum bir dasturchi xatolik qildi:
num = 10
def func():
num -= 3
return i
print(func())
Ushbu kodda nima noto'g'ri? Kod muallifining xatosini toping va tuzating.