慕容708150

您应该实现该方法__eq__:class MyClass:    def __init__(self, foo, bar):        self.foo = foo        self.bar = bar    def __eq__(self, other):         if not isinstance(other, MyClass):            # don't attempt to compare against unrelated types            return NotImplemented        return self.foo == other.foo and self.bar == other.bar现在它输出:>>> x == yTrue请注意,实现__eq__会自动使您的类的实例变得不可散列,这意味着它们无法存储在集合和字典中。如果您不对不可变类型进行建模(即属性foo和属性bar可能在对象的生存期内更改),则建议仅将实例保留为不可散列。如果要对不可变类型进行建模,则还应该实现datamodel hook __hash__:class MyClass:    ...    def __hash__(self):        # necessary for instances to behave sanely in dicts and sets.        return hash((self.foo, self.bar))__dict__不建议使用通用的解决方案,例如遍历和比较值的想法-它永远不可能真正通用,因为其中__dict__可能包含不可比较或不可哈希的类型。注意:请注意,在Python 3之前,您可能需要使用__cmp__而不是__eq__。Python 2用户可能还想实现__ne__,因为不等式的明智的默认行为(即反转相等结果)将不会在Python 2中自动创建。

python中实例和对象的区别_通过Python中对象实例的属性比较对象实例是否相等相关推荐

  1. python中变量和函数的区别_关于python中带下划线的变量和函数 的意义

    Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...

  2. python数字类型的分类和区别_讨论python的数据类型的区别

    python很重要的的那几个数据类型:字符串,列表,字典,元组,他们之间重要的区别的是什么?能否举几个例子来说明下! 共同点: 1.它们都是py的核心类型,是py语言自身的一部分. 核心类型与非核心类 ...

  3. python做数据和大数据区别_不懂Python,不懂大数据的人,和咸鱼有什么区别?

    原标题:不懂Python,不懂大数据的人,和咸鱼有什么区别? 在这个处处充斥着大数据影响的时代之下,不懂Python,不懂大数据,你就可能轻易地错过身边的黄金. 我们生活在数据密布的环境中,就像< ...

  4. 【038】MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义?

    ♣题目部分 MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义? ♣答案部分 (1).varchar与char的区别区别一,定长和变长char 表示定长,长度固定, ...

  5. mysql char30_Mysql中varchar与char的区别以及varchar(30)中的30代表的涵义

    mysql中varchar与char的区别以及varchar(30)中的30代表的涵义 (1)varchar与char的区别 varchar存储可变长字符串,小于255字节时需要1个额外字节(大于25 ...

  6. python中 和is的区别_关于python中的is和==的区别

    在Python中,对象之间的比较.您可以使用= =或.但它们之间的区别是什么?比较两个实例对象是否完全相同,无论他们是同一个对象,以及他们是否占据相同的内存地址.莱布尼兹曾经说过:\u201C世界上没 ...

  7. 在python中定义类时、运算符重载_自定义 Python 类中的运算符和函数重载(上)...

    如果你对 Python 中的str对象使用过 + 或 * 运算符,你一定注意到了它的操作与 int 或 float 类型的区别: 你可能想知道同一内置运算符或函数如何对不同类对象进行不同操作的.这分别 ...

  8. python里面列表可以同时删除吗_在python中从列表中删除项,同时对其进行迭代

    本问题已经有最佳答案,请猛点这里访问. 我正在为锦标赛应用程序编写循环算法. 当玩家数量为奇数时,我将'DELETE'添加到玩家列表中,但稍后,当我想从包含'DELETE'的日程表列表中删除所有项目时 ...

  9. python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...

    Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...

最新文章

  1. Linux-TCP/IP TIME_WAIT状态原理
  2. dataconnectiondialog mysql_MySQL的DataConnectionDialog
  3. 分享一个TP5实现Create()方法的心得
  4. 【Android NDK 开发】JNI 引用 ( 局部引用 | 局部引用作用域 | 局部引用产生 | 局部引用释放 | 代码示例)
  5. 3.0 C++远征:is a
  6. 二. 简单的NSIS安装包
  7. JDK8新特性(五)之Stream流介绍和获取方式
  8. 【React Native 安卓开发】----侧边栏的实现DrawerLayoutAndroid以及第三方框架react-native-side-menu的使用【第六篇】
  9. 2013 蓝桥杯校内选拔赛 java本科B组(题目+答案)
  10. 使用MLM和TLM训练XLM
  11. 手机视频直播软件全面升级,直播APP源码全新功能体验
  12. native工具备份mysql数据库_Navicat Premium实现mysql数据库备份/还原
  13. css3中vw/vh/vmin/vmax的含义与使用方法
  14. redis keys命令,生产环境慎用,最好屏蔽掉
  15. 大数据、云计算该如何学习?
  16. Excel如何把同一列的内容拆分为两列?
  17. Word 自动更新编号(插入题注、交叉引用)
  18. python变量无需创建赋值_阿博的Python之路-变量
  19. linux 命令断网,linux 断网 扫描基本命令(示例代码)
  20. Visual FoxPro 系统容量(vfp9)

热门文章

  1. 【译】JavaScript面试问题:事件委托和this
  2. 华为HCC2014的变与不变
  3. matlab已知xyz拟合标定map,matlab练习题
  4. 我有机器人合体成一个大力神_变形金刚动漫人物:狂派霸天虎挖地虎合体金刚-大力神...
  5. linux下查询汇编指令手册,Linux命令大全
  6. error C2011: “Font”:“struct”类型重定义
  7. 如何解决服装面料纬斜问题
  8. MySQL百万级高并发网站优化
  9. LeetCode之Find Eventual Safe States(Kotlin)
  10. vuex传递参数(二)