Pythonda, boshqa dasturlash tillaridagi kabi oʻzgaruvchilar
aniq bir turdagi
berilganlarni saqlash uchun xizmat qiladi. Pythonda oʻzgaruvchilar alfavit belgilari
yoki tag chizigʻi belgisi bilan boshlanishi va tarkibi son, alfavit belgilari, tag chizigʻi
belgilaridan iborat boʻlishi, ya`ni bir soʻz bilan aytganda identifikator boʻlishi kerak.
Bundan tashqari oʻzgaruvchi nomi Pythonda ishlatiladigan kalit soʻzlar nomi bilan
mos tushmasligi shart. Masalan, oʻzgaruvchi nomi and, as, assert, break, class,
continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is,
lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield kabi
kalit soʻzlar nomi bilan mos tushishi mumkin emas.
Masalan, oʻzgaruvchini aniqlash (hosil qilish) quyidagicha amalga oshiriladi:
Yuqorida a va name oʻzgaruvchilari yaratildi va ularga qiymat berildi. Shuni
alohida ta`kidlash kerakki, Pythonda oʻzgaruvchini dastlab e`lon
qilish degan
tushuncha mavjud emas (masalan: c++ tilida int a kabi oʻzgaruvchi e`lon qilinadi),
balki oʻzgaruvchi kiritiladi va unga qiymat beriladi (masalan: a=14). Berilgan
qiymatga koʻra interpretator oʻzgaruvchining turini aniqlaydi.
Pythonda
oʻzgaruvchilarni nomlashning ikki turi: “camel case” va “underscore notation”
turlaridan foydalanish tavsiya qilingan.
“camel case” turida oʻzgaruvchiga nom berilganda, agar oʻzgaruvchi nomi
alohida soʻzlar birikmasidan tashkil topgan boʻlsa, ikkinchi soʻzdan boshlab har bir
soʻzning birinchi harfi katta harfda (katta registr) boʻlishi talab qilinadi. Masalan:
“underscore notation” turida esa soʻzlar orasiga tag chizigʻi “_”
belgisi
qoʻyiladi. Masalan:
Oʻzgaruvchilar biror bir turdagi berilganlarni saqlaydi. Pythonda bir necha
xildagi berilganlar turlari mavjud boʻlib, ular odatda toʻrtta guruhga ajratiladi:
sonlar, ketma-ketliklar, lugʻatlar va toʻplamlar:
bool (boolean) – True va False mantiqiy qiymatlar uchun;
int – butun sonlar uchun, butun turdagi songa kompyuter xotirasida 4 bayt joy
ajratiladi;
float – suzuvchan nuqtali sonlar (haqiqiy sonlar) uchun,
haqiqiy sonlarni
saqlash uchun kompyuter xotirasidan 8 bayt joy ajratiladi;
complex – kompleks sonlar uchun;
str – satrlar uchun, Python 3.x versiyasidan
boshlab satrlar bu- Unicode
kodirovkasidagi belgilar ketma-ketligini ifodalaydi;
bytes – 0-255 diapazondagi sonlar ketma ketligi uchun
byte array – baytlar massivi uchun;
list – roʻyхatlar uchun;
tuple – kortejlar uchun;
set – tartiblanmagan unikal ob`ektlar kollektsiyasi uchun;
frozen set – set singari, faqat u oʻzgartirilishi mumkin emas (immutable);
dict – lugʻatlar uchun. Har bir element kalit soʻz va qiymat juftligi koʻrinishida
ifodalaniladi.
Python –dinamik turlarga ajratuvchi dasturlash tili hisoblanadi. Yuqorida
aytib oʻtilganidek, Pythonda oʻzgaruvchi turi unga
yuklangan qiymat orqali
aniqlanadi. Agarda oʻzgaruvchiga bittalik (‘,’) yoki ikkitalik (“,”) qoʻshtirnoq
yordamida satr yuklansa, oʻzgaruvchi str turiga ega boʻladi, agarda oʻzgaruvchiga
butun son yuklansa – int, haqiqiy son yuklansa (masalan: 3.14) yoki eksponentsial
koʻrinishdagi qiymat yuklansa (masalan: 11e-1) u float turiga ega boʻladi. Masalan:
Pythonda haqiqiy (float) turidagi oʻzgaruvchilar [-10308 , +10308] oraliqdagi
sonlar bilan hisoblash ishlarini amalga oshirsa boʻladi, lekin faqat 18
ta raqamlar
ketma-ketligi koʻrinadi (konsol ekraniga chiqarilganda). Ixtiyoriy katta yoki kichik
sonlarni oʻzgaruvchidagi ifodasi 18 ta belgidan oshib ketsa, u holda eksponentsial
orqali yaxlitlab ifodalanadi.
Shuni ham ta`kidlash kerakki, Pythonda oʻzgaruvchiga yangi qiymat berish
orqali uning turi oʻzgartirilishi mumkin. Masalan:
Ushbu dasturda dastlab age =17 ifodasi orqali age oʻzgaruvchisi int turiga ega
edi. Keyingi age = "oʻn etti" ifoda bilan uning turi str turiga oʻzgartirildi. Bundan
keyingi jarayonlarda age oʻzgaruvchisi eng ohirgi
yuklangan qiymat turiga mos
boʻladi.
Oʻzgaruvchilarning turini aniqlashda type() – funksiyasidan foydalaniladi.
Masalan:
Konsol ekranidagi natija: