关于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设计】。

相关文章

flask 实现token机制的示例代码

token 的生成 用token校验身份,是前后端交互的常用方式。 它有以下特性: 会失效 加密 可以根据它拿到用户的信息 生成方式( 内部配置的私钥+有效期+用户的...

如何用python整理附件

如何用python整理附件

目前我的文件夹中有500多份简历,如果我想知道一些信息,比如学校,学历之类的,我需要打开每一份word去查看,太耗时间了。这个时候python需要出马了。 目标 目前类似截图中的wo...

Python在信息学竞赛中的运用及Python的基本用法(详解)

Python在信息学竞赛中的运用及Python的基本用法(详解)

前言 众所周知,Python是一种非常实用的语言。但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序。但正如LRJ在《算法竞赛入门经典-训练指南》中所说的一样,如果会...

python正则表达式去掉数字中的逗号(python正则匹配逗号)

分析 数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,*** 正则式复制代码 代码如下:[a-z]+,[a-z]? 复制代码 代码如下:import re sen...

Flask模拟实现CSRF攻击的方法

Flask模拟实现CSRF攻击的方法

CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。 CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。 包括:以你名义发送邮件,发消息...