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

yipeiwu_com7年前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设计】。

相关文章

关于ZeroMQ 三种模式python3实现方式

关于ZeroMQ 三种模式python3实现方式

ZeroMQ是一个消息队列网络库,实现网络常用技术封装。在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活。但是数据处理不如C++自由灵活。 Req...

详解Python中的相对导入和绝对导入

前言 Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。 Python import 的搜索路径 在当前目录下搜索该模块...

TensorFlow saver指定变量的存取

TensorFlow saver指定变量的存取

今天和大家分享一下用TensorFlow的saver存取训练好的模型那点事。 1. 用saver存取变量; 2. 用saver存取指定变量。 用saver存取变量。 话不多说,先上...

Python插入Elasticsearch操作方法解析

这篇文章主要介绍了Python插入Elasticsearch操作方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在用scrap...

python中类和实例如何绑定属性与方法示例详解

前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Pytho...