Python'da klass metodlari va atributlar

Oldingi darsda obyektga ma’lumot — atribut — berishni o’rgandik. Lekin obyekt faqat ma’lumot saqlab qolmaydi, u harakat ham qila oladi. Obyektning harakati metod deb ataladi. Bu darsda klassga metod qo’shishni ko’ramiz.

Metod — klass ichidagi funksiya

Metod — klass ichida yozilgan funksiya. U shu klass obyektlari bajara oladigan harakatni belgilaydi. Metod ham def bilan yoziladi va birinchi parametri doim self:

Python

salomlash — metod. Uni aziz.salomlash() bilan chaqiramiz. Diqqat: qavs ichiga hech narsa yozmadik, lekin metod self orqali aziz ning ismini biladi.

self orqali atributdan foydalanish

Metod obyektning atributlariga self orqali kiradi. self.ism — “shu obyektning ismi”. Shu tufayli har obyekt o’z ma’lumoti bilan ishlaydi:

aziz = Oquvchi("Aziz", 20)
dilnoza = Oquvchi("Dilnoza", 22)

aziz.salomlash()      # Salom, men Aziz!
dilnoza.salomlash()   # Salom, men Dilnoza!

Bitta metod, ikki xil natija — chunki har obyektning self.ism i boshqacha.

Hisob qaytaradigan metod

Metod ekranga chiqarish bilan cheklanmaydi — u return orqali qiymat ham qaytarishi mumkin. O’quvchining o’rtacha bahosini hisoblaydigan metod yozamiz:

Python

ortacha metodi self.baholar ro’yxatidan foydalanib o’rtachani hisoblaydi va return bilan qaytaradi. Ma’lumot (baholar) ham, uni qayta ishlaydigan harakat (ortacha) ham bitta obyekt ichida — bu OOP ning asosiy g’oyasi.

Metod boshqa metodni chaqirishi

Metod ichida self.boshqa_metod() orqali shu obyektning boshqa metodini chaqirsa bo’ladi:

Python

hisobot ichida self.ortacha() chaqirildi — obyekt o’z harakatlarini birlashtirib ishlatdi.

Amaliy mashq

Klassga harakat qo’shing:

  1. Hisob klassini yarating — egasi va balans atributlari bo’lsin;
  2. toldirish(summa) metodini yozing — balansni oshirsin;
  3. yechish(summa) metodini yozing — balans yetarli bo’lsagina kamaytirsin, aks holda xabar chiqarsin;
  4. korish() metodi joriy balansni chiqarsin;
  5. obyekt yasab, uchala metodni navbatma-navbat chaqiring.

yechish() ichida self.balans o’rniga shunchaki balans yozib ko’ring — qanday xato chiqadi?

Qisqacha xulosa

  • Metod — klass ichidagi funksiya; obyektning harakati.
  • Har metodning birinchi parametri self — hozirgi obyektning o’zi.
  • Metod ichida atribut/metodga self orqali kiriladi: self.ism, self.ortacha().
  • Metod print qilishi yoki return bilan qiymat qaytarishi mumkin.
  • Atribut — ma’lumot (qavssiz), metod — harakat (qavs bilan chaqiriladi).

Keyingi darsda meros (inheritance) — bir klassni boshqasidan tayyor holda “meros qilib olish” va kodni takrorlamaslikni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi