关于Python中定制类的比较运算实例


Posted in Python onDecember 19, 2019

Python中的比较运算有几种:小于、小于等于、等于、大于等于、大于、不等于等。如果我们的数据对象具有明确的物理含义,比如说数值是带有数字与物理单位的字符串组合,那么进行大小比较的时候就可以做此定制。

下面针对6种比较方法中的一种来进行定制示范,选择小于判断来做尝试。

写如下示范代码:

class myClass:

    def __init__(self,value):

       self.value = value

    def __lt__(self,other):

       return int(self.value[:-1]) <int(other.value[:-1])

 

 

a = myClass('12a')

b = myClass('20a')

 

print(a < b)

代码执行结果:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08/16$python compare.py

True

从上面看,myClass类的比较方法定制有效。上面例子中,对象的数值是带有单位的,其实是一个数值加单位的字符串。其中,单位就是'a'。如果进行小大比较,可以把单位剥离出去只进行数字的比较。于是,构建出上面的方法。

其实,其他的几种比较方法定制也与此类似。虽说不进行定制也能够完成我们要的功能,但是如果进行类似的定制我们可以获得可读性以及可维护性更好的软件。

以上这篇关于Python中定制类的比较运算实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的ORM框架SQLAlchemy入门教程
Apr 28 Python
Python中的is和==比较两个对象的两种方法
Sep 06 Python
简述Python2与Python3的不同点
Jan 21 Python
python opencv之SIFT算法示例
Feb 24 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
详解Python中下划线的5种含义
Jul 15 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
在python中利用try..except来代替if..else的用法
Dec 19 #Python
Python字符串的修改方法实例
Dec 19 #Python
python中property和setter装饰器用法
Dec 19 #Python
python装饰器代替set get方法实例
Dec 19 #Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 #Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 #Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 #Python
You might like
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
var与Javascript变量隐式声明
2009/09/17 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
深入理解Promise.all
2018/08/08 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
python实现在目录中查找指定文件的方法
2014/11/11 Python
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Python进程间通信Queue实例解析
2018/01/25 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
二年级体育教学反思
2014/01/15 职场文书
体操比赛口号
2014/06/10 职场文书
会议欢迎词
2015/01/23 职场文书
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL