重写__cmp__ python函数
发布时间:2020-12-20 12:21:04 所属栏目:Python 来源:网络整理
导读:嗨,我正在重写__cmp__.如果传递的第二个对象是None,或者它不是someClass的实例,则返回-1. 我不明白这里到底发生了什么. class someClass(): def __cmp__(self,obj): if obj == None: return -1 if not isinstance(obj,someClass): return -1 我的测试功能:
嗨,我正在重写__cmp__.如果传递的第二个对象是None,或者它不是someClass的实例,则返回-1.
我不明白这里到底发生了什么. class someClass(): def __cmp__(self,obj): if obj == None: return -1 if not isinstance(obj,someClass): return -1 我的测试功能: def test_function(self): obj1 = someClass() self.assertTrue(obj1 < None) # I get true. self.assertTrue(obj1 > None) # I get failure as False is returned. 有人可以向我解释一下: >什么是回报值? 解决方法
当obj为None时,程序将返回-1,而返回负整数则表示self< obj,所以obj1<没有是真的,obj1>没有是假的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |