问题描述
据我所知,在.NET Framework中有一个方法Int32.Compareto(),如果数字相等,则返回0,如果括号中的数字更大,则返回-1,否则返回1。是否存在这个方法,在python中具有相同的返回值,还是我必须自己写一个?
解决方法
也许在一些神秘的第三方库中,但没有,在“vanilla”Python 3.x 中没有方法可以做到这一点,尽管实现类似功能的代码应该像这样简单:
def compare_to(val1: int,val2: int) -> int:
if val1 > val2:
return 1
elif val1 < val2:
return -1
elif val1 == val2:
return 0
或者,为了更接近您使用 int
的自定义子类所描述的内容:
class Int32(int):
def compare_to(value: int) -> int:
if self > value:
return 1
elif self < value:
return -1
elif self == value:
return 0