关于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中的闭包总结
Sep 18 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
Django中使用celery完成异步任务的示例代码
Jan 23 Python
Python异常的检测和处理方法
Oct 26 Python
Django框架会话技术实例分析【Cookie与Session】
May 24 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
看看如何用Python绘制小米新版天价logo
Apr 20 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
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
php自动获取关键字的方法
2015/01/06 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
SVG描边动画
2017/02/23 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
Vue中使用vux的配置详解
2017/05/05 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
简单上手Python中装饰器的使用
2015/07/12 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
Django Rest framework频率原理与限制
2019/07/26 Python
python超时重新请求解决方案
2019/10/21 Python
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
财务会计毕业生自荐信
2013/11/02 职场文书
教学实习自我评价
2014/01/28 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
总经理年会致辞
2015/07/29 职场文书
KTV员工管理制度
2015/08/06 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS