面向对象高阶-补漏01比较魔法方法(__gt__等)

Posted suren-apan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象高阶-补漏01比较魔法方法(__gt__等)相关的知识,希望对你有一定的参考价值。

对象进行 == , >, < 等计较运算时候触发

__gt__ 为大于

__lt__ 为小于

__eq__ 为等于

more and more , 可以点进源码查看

class Student(object):
    def __init__(self,name,height,age):
        self.name = name
        self.height = height
        self.age = age

    def __gt__(self, other):
        # print(self)
        # print(other)
        # print("__gt__")
        return self.height > other.height

    def __lt__(self, other):
        return self.height < other.height

    def __eq__(self, other):
        if self.name == other.name and  self.age == other.age and self.height == other.height:
            return True
        return False



stu1 = Student("jack",180,28)
stu2 = Student("jack",180,28)


# print(stu1 < stu2)
print(stu1 == stu2)


以上是关于面向对象高阶-补漏01比较魔法方法(__gt__等)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象

31.Python面向对象str和repr原理魔法方法__call__和__new__方法单例模式

31.Python面向对象str和repr原理魔法方法__call__和__new__方法单例模式

python面向对象高级:反射魔法方法元类

31.Python面向对象str和repr原理魔法方法__call__和__new__方法单例模式

Python魔法方法(18):__gt__(self, other)方法