Pythonдагы өзгөрмөлөр. Дайындоо оператору
Pythonдагы өзгөрмөлөр. Дайындоо оператору
Өзгөрмө - бул маанини сактоо үчүн колдонулган эс тутумдун аталган аймагы. Өзгөрмө бир маанини сактай турган кутуча катары көрсөтүлүшү мүмкүн. Кутучанын атын билип, сиз ар дайым анын мазмунуна кайрыла аласыз же аны башка мааниге алмаштыра аласыз
Python'до өзгөрмө түзүү абдан жөнөкөй - сиз өзгөрмөнүн атын (идентификаторун) ойлоп таап, ага дайындоо оператору = (так белги) аркылуу маани беришиңиз керек. Эгер сизде мааниси бар өзгөрмө болгондо, сиз аны ат менен коопсуз шилтеме кылып, ошондой эле математикалык операцияларга алмаштыра аласыз.
@A@a = 10 # a өзгөрмөсүн түзүп, ага 10 маанисин сактаңыз
print(a) # a өзгөрмөсүнө кириңиз жана аны экранга чыгарыңыз
b = a + 1.5 # a (10 маани) жана 1.5 кошуунун натыйжасын сактаган b өзгөрмөсүн түзүңүз
a = a + 5 # өзгөрмөнүн мазмунун өзгөртүү а. Бул 10 + 5
print(b) # кирүү өзгөрмө b@A@
@T@10
11.5@T@
Эгерде биз жок өзгөрмөгө кирүүгө аракет кылсак, ката алабыз:
@E@print(c)
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
print(c)
NameError: name 'c' is not defined@E@
Бул жерде ката түрү билдирилет - NameError , жана с өзгөрмөнүн аты аныкталбаганы түшүндүрүлөт, башкача айтканда, бизде с деген аталыштагы өзгөрмө жок. Өзгөрмөлөр ага маани берилген биринчи жолу түзүлөт.
Ар бир өзгөрмө 3 компоненттен турат
1 Өзгөрмө аты (идентификатор)
2 Өзгөрмө маани
3 Өзгөрмө түрү (өзгөрмөдө сакталган объекттин түрү
@A@name = 'Anna'
print(type(name))
<class 'str'>
age = 25
print(type(age))
<class 'int'>
money = 102.35
print(type(money))
<class 'float'>@A@
Өзгөрмө аты
Өзгөрмө атын тандоодо бир катар эрежелерди сактоо керек.
- Өзгөрмө аттары боштуктарды камтыбашы керек
- Өзгөрмө аттары тамгаларды, сандарды жана астынкы сызыктарды гана камтышы мүмкүн
- Каармандардын иши маанилүү. Age жана Age өзгөрмө аттары бири-бирине барабар эмес, алар ар башка өзгөрмөлөр.
- Өзгөрмө аты сан менен башталбайт
- Ачкыч сөздөрдү колдонуу мүмкүн эмес
- Өзгөрмөлөргө маанилүү маанилерди берүү максатка ылайыктуу. Кодуңузда 3төн ашык өзгөрмө болгондо жана алардын баары a, b, c, d, ж.б. тамгалардын астында болсо. сиз баш аламан болуп, ачык катаны көрбөй калышыңыз мүмкүн.
Python ачкыч сөздөрү (биз алар менен курста таанышабыз, аларды үйрөнүүнүн кереги жок):
Өзгөрмө - объектке шилтеме
Өзгөрмөнүн мазмунуна кирүүдөн мурун, адегенде ага маани берүү менен өзгөрмө түзүшүңүз керек. Төмөндөгү мисалда биз түзүлбөгөн b өзгөрмөсүнө киребиз жана NameError алабыз
@A@a = 10 # өзгөрмө түзүү а
print(type(a)) # маанинин түрүн билүү
print(a+b) # өзгөрмө b жарыяланган эмес, ошондуктан биз алабыз NameError@A@
@E@<class 'int'>
Traceback (most recent call last):
File "C:/Users/Администратор/AppData/Local/Programs/Python/Python311/55.py", line 4, in <module>
print(a+b)
NameError: name 'b' is not defined@E@
Өзгөрмө (башкача айтканда, ат же идентификатор, мисалы, жогорудагы мисалдагы а аты) программада ага биринчи жолу маани берилгенде автоматтык түрдө түзүлөт.
Бардык кийинки тапшырмалар жөн гана мурунтан эле түзүлгөн ат менен байланышкан маанини өзгөртөт.
Маанинин түрүн өзгөрмө эмес, объект аныктайт
type() функциясы маанинин түрүн текшерүү үчүн колдонулат.
Эгер сиз ага өзгөрмө өткөрүп берсеңиз, ал өзгөрмө шилтеме кылган объект кайсы типтеги маалыматтарды көрсөтөт.
@A@a = 10 # өзгөрмө түзүү а
print(a, type(a)) # бул жерде а бүтүн санды билдирет
a = 'hello' # өзгөртүү а
print(a, type(a)) # бул жерде a сапты билдирет
a = [1,2,3]# өзгөртүү а
print(a, type(a)) # бул жерде а тизмеге шилтеме кылат@A@
@T@10 <class 'int'>
hello <class 'str'>
[1, 2, 3] <class 'list'>@T@
Дайындоо оператору
Тапшыруу оператору = барабар белгиси менен белгиленет.
Сол жактагы болук = Он жактагы болук
Муну менен алгач оң жагындагы маанини эсептеп, аны сол жагындагы өзгөрмөдө сактайт.
Эгерде сол жакта мурда болбогон өзгөрмө болсо, ал түзүлөт.
Эгерде сол жактагы өзгөрмө бар болсо, анда ал жаңы мааниге шилтемени сактайт
Көптүк дайындоо
Эки методдун айырмасы биринчи ыкмадагы бир нече тапшырма бир эле учурда эки өзгөрмөгө маани берет.
Эгер сиз текстти клавиатурадан окуп, аны өзгөрмөлөргө маани катары бергиңиз келсе, анда аны төмөнкүдөй жазсаңыз болот:
@A@name, surname = input(), input()
print('Аты:', name, 'Фамилиясы:', surname)@A@
@T@Акылбек
Балтабаев
Аты: Акылбек Фамилиясы: Балтабаев@T@
Эгерде өзгөрмөлөрдүн аттары бир нече дайындоодо "равно" белгисинин сол жагына үтүр менен бөлүнүшү керек болсо, анда үтүр менен бөлүнгөн ыктыярдуу туюнтмалар оңго коюлушу мүмкүн. Эң негизгиси, тапшырма белгисинин сол жана оң жагында бирдей сандагы элементтер болушу керек.
Бир нече тапшырма эки өзгөрмөнүн маанилерин алмаштыруу керек болгондо пайдалуу. Pythonдо бул төмөнкүдөй жасалат:
name1 = 'Timur'
name2 = 'Gvido'
name1, name2 = name2, name1