Python中字符串到整数的比较

Python中字符串到整数的比较,python,Python,可能重复: 我在用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 [19]中的:“a”3 Out

可能重复:

我在用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
[19]中的
:“a”<3
Out[19]:假
在[20]中:'a'>3
Out[20]:对
在[17]中:id('a')
Out[17]:140414909035824
In[18]:id(3)
Out[18]:23119752

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

Python2.x的跨类型比较是历史上的意外。从:

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


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

是的,这对于Python2是正确的,而不是Python3,这个问题以前已经被问过了。Duplcate:谢谢,因为字符串的字数比int多,这就是上面问题中字符串比int大的原因。如果你阅读了重复的帖子,你会看到,它说“不同的类型通过其类型的名称进行比较”。我不确定你所说的词是什么意思,但不管你指的是哪种类型的词都无关紧要。我对Python(编程本身)很陌生,你认为在这种情况下我应该从Python 3开始而不是Python 2吗?可能最好还是坚持使用Python 2 IMO,因为它有更多的可用资源。是的,当然。Python3在许多方面都更加简洁。目前有人使用Python 2的唯一原因是它的流行和大量的库。当你学习一门新语言或编程时,这两者都不重要。