比较python 3.4中的不同类型

时间:2014-05-09 19:51:10

标签: python python-3.x comparison

`从我读过的内容来看,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不会使用它进行比较。

我怎么能做到这一点?

1 个答案:

答案 0 :(得分:3)

你可以try进行比较,然后回到类型字符串上:

def leq(a,b):
    try:
        return a <= b
    except TypeError:
        return str(type(a)) <= str(type(b))