python __cmp__,cmd python3
本文主要介绍python3cmp的实现,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
python3 cmp实现PY3__cmp__ mixin类cmp()函数实现注释python3使用cmp函数使用运算符模块报告错误
python3 cmp实现
Python3移除了cmp()函数,但是提供了六个丰富的比较操作符。详情见此。
Operator #首先导入Operator模块。
Operator.gt(1,2) #表示大于。
Operator.ge(1,2) #表示大于等于。
Operator.eq(1,2) #表示相等。
Operator.le(1,2) #表示小于等于(小于或等于)
Operator.lt(1,2) #表示小于(小于)
PY3__cmp__ mixin类
导入系统
PY3=sys.version_info[0]=3
如果PY3:
def cmp(a,b):
返回(a b) - (a b)
Python3的mixin类支持__cmp__
PY3级__cmp__:
def __eq__(自己,其他):
回归自我。__cmp__(其他)==0
def __ne__(自己,其他):
回归自我。__cmp__(其他)!=0
def __gt__(自己,其他):
回归自我。__cmp__(其他)0
def __lt__(自己,其他):
回归自我。__cmp__(其他)0
def __ge__(自己,其他):
回归自我。__cmp__(其他)=0
def __le__(自己,其他):
回归自我。__cmp__(其他)=0
else:
PY3级__cmp__:
及格
class your class(PY3 _ _ CMP _ _):
自定义类,可以使用list.sort函数或sorted函数对其进行排序。
def __init__(自己,姓名,年龄):
self.name=name
年龄=年龄
def __cmp__(自己,其他):
返回cmp(自身年龄,其他年龄)
cmp()函数实现的注解
Bool只是int的一个子类,所以True和False可以理解为1和0的区别。
如果第一个参数小于第二个参数,cmp返回负值,如果参数相等,则返回正值,否则可以看出,False-False==0,True-False==1和False-True==-1为cmp提供了正确的返回值。
python3 使用cmp函数报错
python3中不再使用cmp函数来比较大小。
使用operator模块
进口经营者
Lt(a,b)相当于ab从第一个数字或字母(ASCII)开始的大小
Le(a,b)等价于A=B。
Eq(a,b)等价于a==b=B,字母完全一样。返回True,
Ne(a,b)等价于A!=b
Gt(a,b)等价于ab
Ge(a,b)等价于a=B。
该函数的返回值是布尔值。
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。