Oʻzbekiston respublikasi oliy ta’lim, fan va
avto3 = Avto("Toyota",'Carolla',"Silver",2018, 45000)
Download 69.99 Kb.
|
Python Mustaqil1
- Bu sahifa navigatsiya:
- KLASSGA OID METODLAR
- Dunder metodlar
avto3 = Avto("Toyota",'Carolla',"Silver",2018, 45000)
print(Avto.num_avto) Natija: 3 KLASSNING XUSUSIYATLARINI INKAPSULYATSIYA QILISH Klassga oid xususiyatlar ham huddi yuoqridagi kabi nomidan avval ikki pastki chiziq qo'shish bilan inkapsulyatsiya qilinadi: class Avto: """Avtomobil klassi""" __num_avto = 0 # klassga oid xususiyat def __init__(self,make,model,rang,yil,narh): """Avtomobilning xususiyatlari""" self.make = make self.model = model self.rang = rang self.yil = yil self.narh = narh Avto.__num_avto += 1 KLASSGA OID METODLAR Klasslarning o'ziga xos metodlari ham bo'lishi mumkin. Misol uchun yuqoridagi num_avto xususiyatini ko'rish uchun alohida metod yozishimiz mumkin. Klassga oid metodlar @classmethod dekoratori bilan boshlanadi va obyektga oid metodlardan farqli ravishda self emas cls (class) argumentini qabul qiladi. class Avto: """Avtomobil klassi""" __num_avto = 0 def __init__(self,make,model,rang,yil,narh,km=0): """Avtomobilning xususiyatlari""" self.make = make self.model = model self.rang = rang self.yil = yil self.narh = narh self.__km = km self.__id = uuid4() Avto.__num_avto += 1 @classmethod def get_num_avto(cls): return cls.__num_avto Klass metodlarga klassning nomi orqali murojat qilinadi: avto1 = Avto("GM","Malibu","Qora",2020,40000) avto2 = Avto("GM","Lacetti","Oq",2020,20000) avto3 = Avto("Toyota",'Carolla',"Silver",2018, 45000) print(Avto.get_num_avto()) Natija: 3 Dunder metodlar Dunder usullari, shuningdek, sehrli usullar yoki maxsus usullar sifatida ham tanilgan, Pythonda oldindan belgilangan usullar boʻlib, ular ikki marta pastki chiziq bilan boshlanadi va tugaydi (masalan, init, str, qo‘shish). Bu usullar sinflarga funksionallikni taʼminlaydi va ularga oʻrnatilgan xatti-harakatlar yoki operatorning ortiqcha yuklanishiga taqlid qilish imkonini beradi. Ba'zi tez-tez ishlatiladigan dunder usullariga quyidagilar kiradi: `__init__`: Ob'ektni ishga tushiradi va uning boshlang'ich holatini o'rnatadi. __str__: Ob'ektning satr tasvirini qaytaradi. `__repr__`: Ob'ektni qayta yaratish uchun ishlatilishi mumkin bo'lgan satr tasvirini qaytaradi. __len__: Ob'ekt uzunligini qaytaradi. `__add__`: Ikki obyekt o‘rtasida qo‘shishni amalga oshiradi. __eq__: Ikki obyekt orasidagi tenglikni tekshiradi. `__lt__`: Ob'ekt boshqa ob'ektdan kichik ekanligini tekshiradi. __gt__: Ob'ekt boshqa ob'ektdan katta yoki yo'qligini tekshiradi. Dunder usullari Python'ning kuchli xususiyati bo'lib, u bizga mahalliy ma'lumotlar turlari kabi harakat qiladigan va boshqa Python kodlari bilan uzluksiz o'zaro aloqada bo'ladigan sinflarni yaratishga imkon beradi. Download 69.99 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling