关于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字符类型的一些方法小结
May 16 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
Django文件存储 默认存储系统解析
Aug 02 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
python调用私有属性的方法总结
Jul 24 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 Python
详解Python如何批量采集京东商品数据流程
Jan 22 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/08 日漫
PHP新手上路(二)
2006/10/09 PHP
mysql时区问题
2008/03/26 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
javascript静态的url如何传递
2007/05/03 Javascript
JavaScript 私有成员分析
2009/01/13 Javascript
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
jQuery过滤选择器用法分析
2015/02/10 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
python中文编码问题小结
2014/09/28 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
python调用fortran模块
2016/04/08 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
python字符串判断密码强弱
2020/03/18 Python
python字符串的index和find的区别详解
2020/06/20 Python
Python同时处理多个异常的方法
2020/07/28 Python
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
勤奋学习演讲稿
2014/05/10 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
离婚上诉状范文
2015/05/23 职场文书
运动会跳远广播稿
2015/08/19 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js