Oʻzbekiston respublikasi oliy ta’lim, fan va


avto3 = Avto("Toyota",'Carolla',"Silver",2018, 45000)


Download 69.99 Kb.
bet4/4
Sana25.10.2023
Hajmi69.99 Kb.
#1720081
1   2   3   4
Bog'liq
Python Mustaqil1

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:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling