重写__cmp__ python函数

重写__cmp__ python函数,第1张

概述嗨,我正在重写__cmp__.如果传递的第二个对象是None,或者它不是someClass的实例,则返回-1. 我不明白这里到底发生了什么. class someClass(): def __cmp__(self, obj): if obj == None: return -1 if not isinstance(obj, someC 嗨,我正在重写__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.

有人可以向我解释一下:

>什么是回报值?
>当比较符号发生变化时,如何判断它是返回True还是False?

解决方法 当obj为None时,程序将返回-1,而返回负整数则表示self< obj,所以obj1<没有是真的,obj1>没有是假的. 总结

以上是内存溢出为你收集整理的重写__cmp__ python函数全部内容,希望文章能够帮你解决重写__cmp__ python函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存