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

yipeiwu_com6年前Python基础

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实用工具FuckIt.py介绍

说起 Python 强大的地方,你可能想到是它的优雅、简洁、开发速度快,社区活跃度高。但真正使得这门语言经久不衰的一个重要原因是它的无所不能,因为社区有各种各样的第三库,使得我们用Pyt...

Django REST Framework之频率限制的使用

Django REST Framework之频率限制的使用

开放平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用 使用 自定义频率限制组件:utils/thottle.py class MyThrottle(BaseT...

利用Python批量生成任意尺寸的图片

利用Python批量生成任意尺寸的图片

实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片。 效果如下: 目录结构 实现示例 # -*- coding: ut...

用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试

用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试

MapReduce与HDFS简介 什么是Hadoop? Google为自己的业务需要提出了编程模型MapReduce和分布式文件系统Google File System,并发布了相关论文...

python3 selenium 切换窗口的几种方法小结

第一种方法: 使用场景: 打开多个窗口,需要定位到新打开的窗口 使用方法: # 获取打开的多个窗口句柄 windows = driver.window_handles # 切换到当前...