Python'дагы көрүнүш аянттары менен иштөөнүн нюанстары
Локалдык жана глобалдык өзгөрмөлөр менен иштөөнүн маанилүү нюанстарын карап көрөлү.
Бизде глобалдык өзгөрмө num бар деп коёлу.
Глобалдык numты консольго чыгара турган func функциясын түзөлү:
num = 1
def func():
print(num)
func() # 1 чыгарат
Эми функциянын print сабынын төмөнүндө локалдык numты жарыялайлы.
Код аткарылгандан кийин консольго ката чыгат.
Бул Python функциянын ичинде numты жарыяланбаган локалдык өзгөрмө катары гана түшүнгөндүгүнөн болуп жатат:
num = 1
def func():
print(num) # ката чыгарат
num = 2
Эми функциянын ичиндеги кодду num өзгөрмөсүнүн мааниси 2ге көбөйсүн деп кайра жазалы:
num = 1
def func():
num += 2 # ката чыгарат
Ката num += 2 төмөнкүдөй жазылышты билдиргендигинен улам чыккан:
num = num + 2
Бирок, кошулуучу локалдык өзгөрмө дагы жарыяланган эмес. Демек, Python бар болбогон мааниге санды кошууга болбойт деген катаны чыгарат.
Төмөнкү код аткарылганда натыйжа кандай болот:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Төмөнкү код аткарылганда натыйжа кандай болот:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Төмөнкү код аткарылганда натыйжа кандай болот:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)