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

python build-in function __cmp__

时间:2014-09-19 18:59:45      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:io   sp   cti   on   c   ef   r   python   bs   

读王纯业前辈的笔记遇到个很坑的例子

A namespace is a mapping from names to objects

>>> class a:
    def __cmp__(self,other):
        if other > 0 : print ‘other > 0‘ ;return -1
        elif other < 0 : print ‘other < 0‘ ;return 1
        else : print ‘other==0‘; return 0

        
>>>
>>>
>>>
>>> o=a()
>>>
>>> if (o > 10) : print ‘tt‘

other > 0
>>> if (o < 10) : print ‘tt‘

other > 0
tt
>>>
>>>
>>>
>>>
>>> if (o > -10) : print ‘tt‘

other < 0
tt
>>> if (o < -10) : print ‘tt‘

other < 0

__cmp__ 中return的3个值 1,-1,0

执行过程:

1,根据other的值确定执行那一条,结果是返回1,-1,或0

2,判断返回值是否和表达式中的符号匹配,匹配返回True,不匹配返回False

 

python build-in function __cmp__

标签:io   sp   cti   on   c   ef   r   python   bs   

原文地址:http://www.cnblogs.com/johvoo/p/3981959.html

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