__eq__


__eq__() usuli

Ko‘pgina ma’lumotlar turlari (string, raqam, list va boshqalar) ularni solishtirish uchun ==dan foydalanganda tarkib bo‘yicha taqqoslanadi.

Obyektlar uchun bu shunday emas.== operatori ikkita o‘zgaruvchining xotiradagi aynan bir xil obyektga ishora qilishini tekshiradi - ularning mazmuni mos keladimi yoki yo‘qmi.

__eq__() usuli bu xatti-harakatni o‘zgartirishga imkon beradi.

Misol

__eq__()siz, bir xil qiymatga ega bo‘lgan ikkita obyekt hali ham teng deb hisoblanmaydi:

class Person:   def __init__(self, name, age):     self.name = name     self.age = age p1 = Person("Linus", 30) p2 = Person("Linus", 30) print(p1 == p2)
O‘zingiz sinab ko‘ring »

Taqqoslash usulini o‘zgartiring

Sinfingiz uchun "teng" nimani anglatishini aniqlash uchun __eq__() qo‘shing:

Misol

Agar qiymatlar teng bo‘lsa, ikkita obyekt teng ekanligini aniqlaydigan __eq__() usulini qo‘shing:

class Person:   def __init__(self, name, age):     self.name = name     self.age = age   def __eq__(self, other):     return self.name == other.name and self.age == other.age p1 = Person("Linus", 30) p2 = Person("Linus", 30) print(p1 == p2)
O‘zingiz sinab ko‘ring »

Eslatma:otherparametrini sezdingizmi? U taqqoslanayotganotherobyektini ifodalaydi.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!