在Python 2.7.2中,将字符串与int进行比较看起来非常不一致:
x = '12'; y = 3
print x > y # True
x = 12; y = '3'
print x > y # False
根据Python3中的How does Python compare string and int?,这些将引发异常。有没有办法让Python2已经有这样的行为?看着__future__
,我想不出是否有这样的功能。
发布于 2013-10-12 15:30:55
不是的。您的选择是:
使用类似MacroPy的东西来使您的自定义比较函数不那么令人讨厌。当您需要Python 3时,在Python 3之前
发布于 2013-10-12 15:29:06
您不能对内置类型进行monkeypatch (至少不能不转到C源代码),也不应该这样做。您只能对它们进行子类化,并让它们在非法比较时引发TypeError
。
这是Python2的正确行为,如果有问题,那么您可以做的最好的事情是切换到Python3,它在这方面和许多其他方面都更明智。
https://stackoverflow.com/questions/19331674
复制相似问题