嗨,我是压倒一切__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
何时更改比较符号?