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__')
复制代码

 

posted @   天子骄龙  阅读(3252)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示