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 чыгарат
Төмөнкү коддо бир программачы ката кетирди:
num = 4
def func():
num *= 2
return num
print(func())
Бул коддо эмнени туура эмес? Коддун авторунун катасын таап, оңдоп бериңиз.
Төмөнкү коддо бир программачы ката кетирди:
num = 10
def func():
num -= 3
return i
print(func())
Бул коддо эмнени туура эмес? Коддун авторунун катасын таап, оңдоп бериңиз.