比较不同类的对象实例是否相等,基于其属性。
创始人
2024-12-13 09:00:24
0

可以使用Python内置的functools库中的total_ordering装饰器和__eq__魔术方法实现比较不同类的对象实例是否相等,基于其属性。

示例代码如下:

from functools import total_ordering

@total_ordering class Animal: def init(self, name, age): self.name = name self.age = age

def __eq__(self, other):
    if isinstance(other, Animal):
        return self.name == other.name and self.age == other.age
    return NotImplemented

@total_ordering class Person: def init(self, name, age): self.name = name self.age = age

def __eq__(self, other):
    if isinstance(other, Person):
        return self.name == other.name and self.age == other.age
    return NotImplemented

animal1 = Animal("dog", 5) animal2 = Animal("dog", 5) person1 = Person("John", 30) person2 = Person("John", 30)

print(animal1 == animal2) # True print(person1 == person2) # True print(animal1 == person1) # False

相关内容

热门资讯

8分钟安卓版!德普之星透视辅助... 8分钟安卓版!德普之星透视辅助软件(透视辅助软件)详细辅助机器人(总是机器人)德普之星透视辅助软件辅...
六分钟私人局外卦!拱趴大菠萝作... 六分钟私人局外卦!拱趴大菠萝作弊方法(透视脚本免费)详细辅助俱乐部(原来俱乐部)1、游戏颠覆性的策略...
五分钟有透视!德普辅助软件,德... 五分钟有透视!德普辅助软件,德普之星的辅助工具介绍,详细教程(有挂内幕)1、打开软件启动之后找到中间...
两分钟辅助!pokemmo辅助... 两分钟辅助!pokemmo辅助官网(透视脚本免费)详细辅助工具(一贯工具);1、起透看视 pokem...
八分钟破解版!德普之星的辅助工... 八分钟破解版!德普之星的辅助工具介绍,德普辅助软件,详细教程(有挂细节);该软件可以轻松地帮助玩家将...
五分钟祈福!hardrock作... 五分钟祈福!hardrock作弊(透视辅助软件)详细辅助助手(原来助手);1、hardrock作弊a...
九分钟免费透视!德普之星透视辅... 九分钟免费透视!德普之星透视辅助软件下载,德扑圈透视挂,详细教程(有挂技巧)1、玩家可以在德普之星透...
3分钟底牌透视脚本!werpl... 3分钟底牌透视脚本!werplan透视挂,pokemmo辅助工具,详细教程(有挂秘籍)1、该软件可以...
1分钟免费透视!德扑圈透视(透... 1分钟免费透视!德扑圈透视(透视辅助)详细辅助作弊器(果然作弊器);1、实时德扑圈透视开挂更新:用户...
一分钟德州局透视!newpok... 一分钟德州局透视!newpoker脚本(透视辅助)详细辅助下载(切实下载)1、德州局透视系统规律教程...