Python比較関数_cmp__
1679 ワード
#!/usr/bin/python
class my_type(object):
def __init__(self, v):
self.value = v
def __cmp__(self, v2):
if self.value > v2.value:
return 1
elif self.value == v2.value:
return 0
else:
return -1
if __name__ == '__main__':
a = my_type(3)
b = my_type(4)
print a > b
print cmp(a,b)
直接判断a>b内部、呼び出し_cmp__()、a>bの場合はTrue、そうでない場合はFalseを返します.
cmpを呼び出すと、同じように__が呼び出されます.cmp__()、a>bが1を返す場合、a=bは0を返し、そうでない場合は-1を返す.