关于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爬虫爬取网页表格数据
Mar 07 Python
Python简单计算给定某一年的某一天是星期几示例
Jun 27 Python
python读取LMDB中图像的方法
Jul 02 Python
Python实现图片拼接的代码
Jul 02 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
Python subprocess库的使用详解
Oct 26 Python
matplotlib实现热成像图colorbar和极坐标图的方法
Dec 13 Python
Python实现快速排序的方法详解
Oct 25 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
python输出第n个默尼森数的实现示例
Mar 08 Python
Python Numpy库的超详细教程
Apr 06 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
JS随机密码生成算法
2019/09/23 Javascript
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
颁奖晚会主持词
2014/03/25 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
创业计划书之干洗店
2019/09/10 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript