Python'da o'zgaruvchilar
O’tgan darsda Python muhitini o’rnatib, birinchi dasturimizni ishga tushirdik. Uning yagona vazifasi — tayyor matnni ekranga chiqarish edi. Haqiqiy dasturlar esa ma’lumot bilan ishlaydi: uni eslab qoladi, o’zgartiradi va qayta ishlatadi. Ma’lumotni eslab qolishning asosiy vositasi — o’zgaruvchi.
Bu darsda o’zgaruvchi nima ekanini, uni qanday yaratishni, Python xotirada qiymatni qanday saqlashini va nomlashning qoidalarini ko’rib chiqamiz.
O’zgaruvchi nima
O’zgaruvchi (variable) — bu ma’lumotga berilgan nom. Uni xotiradagi qutiga qiyoslash mumkin: qutiga qiymat solamiz, unga nom beramiz va keyin o’sha nom orqali qiymatga murojaat qilamiz.
Buning zarurati amaliy. Dastur biror qiymatni — foydalanuvchi ismi, narx, hisob natijasi — bir joyda hisoblab, boshqa joyda ishlatishi kerak bo’ladi. Har safar qiymatni qaytadan yozish o’rniga, unga bir marta nom beriladi va keyin shu nom takror ishlatiladi.
Python’da o’zgaruvchi tenglik belgisi (=) orqali yaratiladi. Chapda —
nom, o’ngda — qiymat:
ism = "Aziz"
yosh = 25
Bu ikki qatorda ikkita o’zgaruvchi yaratildi: ism nomiga "Aziz" matni,
yosh nomiga 25 soni bog’landi. Endi bu nomlarni dasturning istalgan
joyida ishlatishimiz mumkin:
Qiymatni o’zgartirish
O’zgaruvchining nomi “o’zgaruvchi” bo’lishining sababi shundaki, unga bog’langan qiymat dastur davomida o’zgarishi mumkin. Yangi qiymat o’zlashtirilsa, eskisi almashadi:
Ikkinchi narx = 1500 qatoridan keyin o’zgaruvchi eski 1000 qiymatini
“unutadi” — endi u 1500 ga bog’langan. Python har doim o’zgaruvchining
eng oxirgi qiymatini saqlaydi.
O’zgaruvchining qiymatidan foydalanib, uni yangilash ham mumkin. Bu ayniqsa hisob-kitoblarda ko’p uchraydi:
Bu yerda ball + 5 avval hisoblanadi (10 + 5 = 15), so’ng natija yana
ball ga o’zlashtiriladi.
Bir nechta o’zgaruvchini yaratish
Python bir qatorda bir nechta o’zgaruvchi yaratishga imkon beradi. Bu kodni qisqartiradi, lekin faqat qiymatlar mantiqan bog’liq bo’lganda ishlatgan ma’qul:
Bir nechta o’zgaruvchiga bir xil qiymat berish uchun zanjir shaklidagi o’zlashtirishdan foydalaniladi:
Nomlash qoidalari
Python o’zgaruvchi nomlariga bir nechta qat’iy qoida qo’yadi. Ular buzilsa, dastur ishga tushmaydi:
- Nom harf yoki pastki chiziq (
_) bilan boshlanishi kerak, raqam bilan emas. - Nomda faqat harflar, raqamlar va pastki chiziq bo’lishi mumkin — bo’sh joy va tinish belgilari mumkin emas.
- Nom Python’ning kalit so’zlaridan biri bo’la olmaydi (masalan
if,for,class— ular til uchun band). - Nom registrga sezgir:
yosh,YoshvaYOSH— uchta har xil o’zgaruvchi.
Quyidagi jadval to’g’ri va noto’g’ri nomlarni ko’rsatadi:
| To’g’ri | Noto’g’ri | Sabab |
|---|---|---|
ism |
1ism |
raqam bilan boshlangan |
foydalanuvchi_yoshi |
foydalanuvchi yoshi |
bo’sh joy bor |
_summa |
summa! |
taqiqlangan belgi (!) |
narx2 |
for |
kalit so’z |
Yaxshi nom tanlash
Yuqoridagilar — majburiy qoidalar. Ulardan tashqari, majburiy bo’lmagan, lekin muhim uslub masalasi bor: nom ma’noli bo’lishi kerak.
Python kodlarni o’qiladigan bo’lishiga alohida e’tibor beradi. Shuning uchun o’zgaruvchiga uning mazmunini bildiradigan nom berish tavsiya qilinadi. Bir necha so’zdan iborat nomlar pastki chiziq bilan ajratiladi — bu uslub snake_case deb ataladi:
# Yaxshi — nomdan mazmun ko'rinib turibdi
foydalanuvchi_ismi = "Aziz"
umumiy_summa = 15000
# Yomon — nima saqlanayotgani noaniq
a = "Aziz"
x = 15000
Ikkala variant ham ishlaydi, lekin birinchisi keyinroq kodni o’qiganingizda (yoki boshqa kimdir o’qiganda) ancha tushunarli bo’ladi. Bu — Python jamoasining rasmiy uslub qo’llanmasi (PEP 8) tavsiyasi; unga keyingi darslarda batafsil qaytamiz.
O’zgaruvchida qanday ma’lumot saqlanadi
Yuqoridagi misollarda o’zgaruvchilarga har xil turdagi qiymatlar berdik:
"Aziz" — matn, 25 — butun son. Python o’zgaruvchining turini
o’zlashtirilgan qiymatga qarab o’zi aniqlaydi — turni oldindan e’lon
qilish shart emas (ba’zi tillarda bu majburiy).
Har bir qiymatning turini type() funksiyasi orqali ko’rish mumkin:
Bu yerda str — matn (string), int — butun son (integer) turini
bildiradi. Turlar mavzusini keyingi darsda batafsil ko’rib chiqamiz —
hozircha shuni bilish yetarli: o’zgaruvchi istalgan turdagi ma’lumotni
saqlay oladi va turni Python o’zi belgilaydi.
Amaliy mashq
O’zingiz haqingizda qisqa “profil” yozing:
ism,yosh,shaharvakasbo’zgaruvchilarini yarating;- har biriga mos qiymat bering —
yoshson, qolganlari matn bo’lsin; print()bilan to’rt qatorda chiqaring;- bir yildan keyingi holatni ko’rsatish uchun
yoshqiymatini yangilang va qayta chiqaring.
So’ng nomlaringizni tekshiring: har biri saqlayotgan qiymatni izohsiz tushuntirib turibdimi?
Qisqacha xulosa
- O’zgaruvchi — ma’lumotga berilgan nom; u xotiradagi qiymatga murojaat qilish uchun ishlatiladi.
- O’zgaruvchi
=belgisi orqali yaratiladi: chapda nom, o’ngda qiymat. Bu belgi “teng” emas, “o’zlashtir” degani. - O’zgaruvchining qiymati dastur davomida o’zgarishi mumkin; Python doim eng oxirgi qiymatni saqlaydi.
- Nom harf yoki
_bilan boshlanadi, bo’sh joy va kalit so’z mumkin emas, registr farqlanadi. - Ma’noli nomlar (
snake_case) kodni o’qishni osonlashtiradi — bu uslub qoidasi. - Turni Python qiymatga qarab o’zi aniqlaydi; uni
type()bilan ko’rish mumkin.
Keyingi darsda ma’lumot turlari bilan batafsil tanishamiz: matn, butun va kasr sonlar, mantiqiy qiymatlar bir-biridan nimasi bilan farq qiladi.