Python的富比较方法包括__lt__、__gt__分别表示:小于、大于,对应的操作运算符为:“”。那么是否象普通数字运算一样,这两个方法之间存在互反的关系呢?

Python没有对__lt__、__gt__这两个方法之间有什么强制关系,但建议__lt__和__gt__为互反,开发者完全可以根据业务逻辑的需要自己定义。我们来进行分析验证:

当自定义类中两个方法都定义了时,“”分别调用__lt__和__gt__方法;

当自定义类中定义了__lt__方法,未定义__gt__方法时,进行”>”比较也是调用__lt__方法,只是对调用值求反。案例:

>>> class Car():

def __init__(self,carname,oilcp100km, price):

self.carname,self.oilcp100km,self.price = carname,oilcp100km, price

def __lt__(self,other):

print("execute __lt__")

return self.price

>>>

>>> car1,car2,car3,car4 = Car('爱丽舍',8,10),Car('凯美瑞',7,27),Car('爱丽舍',8,10),Car('途观',12,27)

>>>

>>> car1>car2

execute __lt__

False

>>> car1

execute __lt__

True

>>>

当自定义类中定义了__gt__方法,未定义__lt__方法时,进行”

>>> class Car():

def __init__(self,carname,oilcp100km, price):

self.carname,self.oilcp100km,self.price = carname,oilcp100km, price

def __gt__(self,other):

print("execute __gt__")

return self.price>other.price

>>> car1,car2,car3,car4 = Car('爱丽舍',8,10),Car('凯美瑞',7,27),Car('爱丽舍',8,10),Car('途观',12,27)

>>> car1

execute __gt__

True

>>> car1>car2

execute __gt__

False

>>>

通过以上案例,我们知道当__lt__、__gt__方法都定义了时,“”分别调用__lt__和__gt__方法,当一个定义另一个未定义时,未定义的操作执行时会调用已经定义的方法求反。这个与__eq__和__ne__的关系还是有较大的不同。

python中lt方法_Python的富比较方法__lt__、__gt__之间的关联关系分析相关推荐

  1. 在python中print 应用_Python print正确使用方法浅析

    Python编程语言是一款比较新颖的编程语言,相对于其他语言来说,有很多不同的特点引起了大多数开发人员的兴趣.在这里我们可以先从Python print的相关应用方法来分析,初步了解这一语言的应用方式 ...

  2. python中getopt函数_python getopt模块使用方法

    python中 getopt 模块,是专门用来处理命令行参数的 getop标准格式: 函数getopt(args, shortopts, longopts = []) shortopts 是短参数   ...

  3. python中len字典_Python 字典(Dictionary) len()方法

    Python 字典(Dictionary) len()方法 描述 Python 字典(Dictionary) len() 函数计算字典元素个数,即键的总数.高佣联盟 www.cgewang.com 语 ...

  4. python中remove用法_Python 列表 remove() 使用方法及示例

    Python 列表 remove() 使用方法及示例 remove()方法从列表中删除第一个匹配元素(作为参数传递). remove()方法的语法为:list.remove(element) remo ...

  5. python中pca算法_Python使用三种方法实现PCA算法

    主成分分析(PCA) vs 多元判别式分析(MDA) PCA和MDA都是线性变换的方法,二者关系密切.在PCA中,我们寻找数据集中最大化方差的成分,在MDA中,我们对类间最大散布的方向更感兴趣. 一句 ...

  6. python中延时函数_Python延时操作实现方法示例

    本文实例讲述了Python延时操作实现方法.分享给大家供大家参考,具体如下: 在日常的开发中,往往会遇到这样的需求,需要某一个函数在一段时间之后才执行以达到某种特定的效果.此时,我们就需要某种机制,使 ...

  7. python中isin函数_Python numpy.isin函数方法的使用

    numpy.isin numpy.isin(element, test_elements, assume_unique=False, invert=False)     [source] 计算test ...

  8. python中reshape函数_Python numpy.reshape函数方法的使用

    numpy.reshape numpy.reshape(a, newshape, order='C')    [source] 在不更改数据的情况下为数组赋予新的shape.参数 :a :array_ ...

  9. python 中arange函数_Python numpy.arange函数方法的使用

    numpy.arange numpy.arange([start, ]stop, [step, ]dtype=None) 返回给定间隔内的均匀间隔的值. 在半开间隔[start,stop)(换句话说, ...

最新文章

  1. ISE下载到FPGA内的文件格式
  2. 电缆桥架安装规范标准_电缆桥架怎么安装,桥架安装工艺分享
  3. rooibos茶中单宁酸研究
  4. [Leetcode][第120题][JAVA][三角形最小路径和][动态规划][递归]
  5. POJ 2433 枚举
  6. Linux自动化运维第十八课
  7. SQLServer 2008 技术内幕——T-SQL 查询 笔记
  8. paip.命令行执行js
  9. PyQt环境的搭建:安装python+pyqt+eric
  10. 差分管电路图_最简单的单差分OCL功放电路图(四款单差分OCL功放电路设计原理图详解)...
  11. 从陈年往事说说凡客的教训
  12. 花了1晚上diy的matlab解数独算法,很好理解!
  13. 神奇的暴力数据结构——ODT
  14. css中indent是什么意思,css文本属性中的text-indent的解析
  15. vant Webapp 快速使用
  16. 基于vspd DLL二次开发的虚拟串口工具
  17. python怎么定义int变量_Python 变量类型 | 菜鸟教程
  18. 从四大造字法看文字所承载的文化_中国四大造字法
  19. win10下如何装CH340驱动
  20. cuda nvidia 安装失败

热门文章

  1. 多进程多线程处理文本数据
  2. 文巾解题 977. 有序数组的平方
  3. Tableau必知必会之如何做嵌套组合饼图
  4. MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片
  5. python数据库编程(1):潦草的开篇
  6. 数组反向遍历ios_iOS中数组遍历的方法及比较
  7. 【Python刷题】_10
  8. 浅谈文献总结(2018.9.28)——坚恒勇毅论文课笔记
  9. numpy.dstack详解
  10. 利用Keras构建自动编码器