3

可能重复:
Python 如何比较字符串和整数?

我在 Python 中进行了一些比较。我很惊讶地发现我可以将字符串与整数进行比较。然后我做了一个 id 并发现实际上 string 的 id 大于 int 的 id ,我认为这就是我得到这个输出的原因。

In [19]: 'a' < 3
Out[19]: False

In [20]: 'a'>3
Out[20]: True

In [17]: id('a')
Out[17]: 140414909035824

In [18]: id(3)
Out[18]: 23119752

请确认我正确地解释了这种行为(Python 在 id 级别上进行比较)。

4

1 回答 1

5

Python 2.x 的跨类型比较是历史性的意外。从文档中:

(...) 不同类型的对象总是比较不相等,并且顺序一致但任意

在 Python 3.x 中,这是固定的 - 这些比较会引发类型错误。

于 2012-05-05T12:16:42.260 回答