python-类对象的比较

#类对象的比较
class Person:
    def __init__(self,age,height):
        self.age=age
        self.height=height
    def __eq__(self, other):#比较两个对象是否相等的函数
        return self.age == other.age
    def __ne__(self, other):#比较两个对象是否不相等的函数
        return self.age != other.age
    def __gt__(self, other):#大于函数
        return '大于函数'
    def __ge__(self, other):#大于等于
        return '大于等于函数'
    def __lt__(self, other):#小于
        return '小于函数'
    def __le__(self, other):#小于等于
        return '小于等于函数'
    def __bool__(self):#判断对象是真是假时要执行的函数
        return True


d1=Person(18,175)
d2=Person(18,165)

s=d1==d2  # 执行__eq__函数,返回值是__eq__函数的返回值
#如果没有__eq__函数,就比较的是地址,所以返回False
s=d1 != d2 # 执行__ne__函数,返回值是__ne__函数的返回值
s=d1 > d2  #执行__gt__函数,返回值是__gt__函数的返回值
s=d1 >= d2  #执行__ge__函数,返回值是__ge__函数的返回值
s=d1 < d2  #执行__lt__函数,返回值是__lt__函数的返回值
s=d1 <= d2  #执行__le__函数,返回值是__le__函数的返回值
print(s)
if d1:  #执行__bool__函数,返回值是__bool__函数的返回值
    print('执行__bool__')

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/10799603.html
今日推荐