`从我读过的内容来看,python 2允许与不同类型进行比较,但出于某种原因,python 3已经删除了它。无论这样做是否是个好主意,我想比较两个相同类型或不同的任意值。 我在python 2中读到比较不同类型是通过比较类型的名称来完成的,所以我试着实现它。
def less_than_or_equal(a, b):
if type(a) == type(b):
return a <= b
else:
return str(type(a)) <= str(type(b))
在我这样做之后,我意识到一些通常会被比较的类型如浮点数和一个int不会使用它进行比较。
我怎么能做到这一点?
答案 0 :(得分:3)
你可以try
进行比较,然后回到类型字符串上:
def leq(a,b):
try:
return a <= b
except TypeError:
return str(type(a)) <= str(type(b))