码迷,mamicode.com
首页 > 编程语言 > 详细

python2的比较函数,cmp

时间:2018-08-16 13:54:27      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:ret   init   对象   类型   elf   style   运行   字符串   span   

class Shu(object):
    def __init__(self,ss):
        self.ss = ss
        
    def __str__(self):
        return (%s: %s) % (self.name, self.score)
    __repr__ = __str__

    def __cmp__(self, s):
        print (func __cmp__ work)
        if self.ss < s.ss:
            return -1
        elif self.ss > s.ss:
            return 1
        else:
            return 0

a=Shu(3)
b=Shu(2)
c=a>b#运行__cmp__,c为True
d=cmp(a,b)#运行__cmp__,d为1,注意d与上面c类型不同,一个int,一个bool

python2的比较函数是cmp.cmp调用的是对象的__cmp__方法,字符串,整数,列表等对象都内置该方法。

但是在pyhon3的比较函数已经不是cmp了

python2的比较函数,cmp

标签:ret   init   对象   类型   elf   style   运行   字符串   span   

原文地址:https://www.cnblogs.com/saolv/p/9486397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!