【发布时间】:2013-11-02 09:27:28
【问题描述】:
我刚刚注意到 Python 允许您将字符串值与数字进行比较:
>>> '10' > 1000
True
>>> 'a' > 1000
True
>>> 'a' > -1000
True
为什么任何字符串总是大于任何数字?
【问题讨论】:
-
你在比较两种不同的类型,没有任何有意义的比较,所以我相信这取决于解释器的实现。
-
如果你问的是“为什么 Python 选择这个规则”而不是“什么是规则”,Alex Martelli's answer 在另一个问题上可能是你要找的。
-
@abarnert 很好地解释了为什么会这样,以及为什么这会在 Python 3 中引发错误,谢谢。
标签: python