Python中的字符串到整数比较

Var*_*run 3 python

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

我在Python中做了一些比较.我很惊讶地发现我可以将字符串与整数进行比较.然后我做了一个id,发现实际上字符串的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
Run Code Online (Sandbox Code Playgroud)

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

phi*_*hag 5

Python 2.x的交叉类型比较是一次历史性的事故.从文档:

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

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