__setattr__(self, , ) — sinf nusxasi hususiyatiga qiymat berishda ishga tushadi. Agar metodning ichida hususiyatga qiymat berishga urinish boʻlsa, __dict__ lugʻatidan foydalanish lozim, aks holda cheksiz tsikl yuzaga kelishi mumkin:
class Namuna:
def __setattr__(self, attr, value):
print("__setattr__() metodiga murojaat qilindi")
self.__dict__[attr] = value # faqat shunday!!!
c = Namuna()
c.i = 10 # chiqaradi: __setattr__() metodiga murojaat qilindi
print(c.i) # chiqaradi: 10
__delattr__(self, ) — metod del(. koʻrsatmasi yordamida hususiyatni oʻchirishga urinish boʻlganda ishga tushadi;
Do'stlaringiz bilan baham: |