Python dasturlash tili: 9.1-dars.
Shu paytgacha python bo’yicha darslarimizda keltirilgan dasturlar faqat funksiyalardan tashkil topgan edi. Ya’ni ma’lum bir ma’lumotlarni qayta ishlaydigan ifodalar blokidan iborat bo’ldi. Bu prosedura ko’rinishidagi dastrulash uslubi hisoblanadi. Dasturlarni tashkil qilishning boshqa ko’rinishi ham mavjud: ma’lumotlar va funksiyalarni bir ob’ekt ostiga jamlash. Bu dasturlashning ob’ektga yo’naltirilgan modeli hisoblanadi.
Klass va ob’yektlar – ob’yektga yo’naltirilgan dasturlashning ikkita asosiy aspekti. Klass yangi tur (тип) hosil qiladi, ob’ektlar esa klassning nusxasi hisoblanadi. Masalan, «int turidagi o’zgaruvchi» deganda, butun son qiymatlarni saqlovchi o’zgaruvchilar int klassining nusxasi – ob’yekti ekanligini tushunishimiz kerak.
Ob’yektlar ma’lumotlarni o’ziga tegishli bo’lgan o’zgaruvchilarda saqlaydi. Ob’ekt yoki klassga tegishli bo’lgan o’zgaruvchilar maydonlar deyiladi. Shu bilan birga ob’yektlar klasslarga tegishli bo’lgan funksiyalarni ham o’zlida jamlaydi. Bunday funksiyalar klass metodlari deb ataladi. Maydon va metodlarni umumiy qilib klass attributlari deb atash mumkin.
Maydonlar ikki turda bo’ladi: ular alohida ob’yektga tegishli bo’lishi mumkin yoki butun bir klassga tegishlik bo’lishi mumkin. Ular o’z navbatida ob’yekt o’zgaruvchilari va klass o’zgaruvchilari deb nomlanadi.
Klasslar class kalit so’zi bilan hosil qilinadi.
class Person: pass # Bo'sh blok
Klass ob’yekti quyidagicha hosil qilinadi.
p = Person()
Ob’yekt metodlari
Misol: (method.py nomi bilan saqlang)
class Person: def sayHi(self): print('Salom! Ishlar qanday?') p = Person() p.sayHi()
Natija:
$ python3 method.py
‘Salom! Ishlar qanday?’
Bu qanday ishlaydi:
Klass metodlari oddiy funksiyalardan parametrlari boshiga qo’shiladigan self qo’shimcha parametri bilan farqlanadi. Person klassining sayHi metodida bu narsa ko’rsatilgan. Lekin bu metodni ob’yekt orqali chaqirganimizda xech qanday qiymat bu parametr uchun berilmasligi kerak. self o’zgaruvchisi klass ob’yektiga murojaat qilish uchun ishlatiladi.
__init__ metodi
__init__ (boshida va oxirida ikkita «_» belgisi ) metodi klass ob’yekti hosil qilinayotgan vaqtda chaqiriladi. Bu metod ob’yekt uchun kerak bo’ladigan boshlang’ich o’zlashtirishlar uchun foydali.
Misol: (class_init.py nomi bilan saqlang)
class Person: def __init__(self, name): self.name = name def sayHi(self): print('Salom! Mening ismim', self.name) p = Person('Swaroop') p.sayHi()
Natija:
$ python3 class_init.py
Salom! Mening ismim Swaroop
Bu qanday ishlaydi:
Bu yerda biz __init__ metodini self parametri yonida name parametrini qabul qiladigan qilib aniqladik. So’ngra name (self.name) maydonini aniqladik. Bu yerda self.name ob’yektga tegishli maydon name esa mahalliy o’zgaruvchi.
Ahamiyat berish kerakki, klass ob’yektini hosil qilishda __init__ metodini ochiq chaqirganimiz yo’q, uning o’rniga klass nomidan so’ng argumentlarni qavs ichida berdik xolos. Shu holat bilan bu metodning roli bog’liq.
Shundan so’ng biz self.name maydonini metodlarimizda ishlatish imkoniga ega bo’lamiz. Buni sayHi metodi ko’rsatib turibdi.
Manba:
Umumiy Dasturlash
Python dasturlash tili: 9.1-dars.