以下代码段带有输出注释(如ideone.com所示):
print "100" < "2" # True
print "5" > "9" # False
print "100" < 2 # False
print 100 < "2" # True
print 5 > "9" # False
print "5" > 9 # True
print [] > float('inf') # True
print () > [] # True
有人可以解释为什么这样的输出吗?
实施细节
- 语言规范规定了这种行为,还是由实施者决定?
- 任何主要的Python实现之间都有区别吗?
- Python语言的版本之间有区别吗?
23
这个问题的3000点了DUP,这其中有一个答案解释为什么语言被设计成这样(以及为什么它是在3.X重新设计)。这不是这个问题的一部分,而是在这里链接的许多问题的一部分。
—
abarnert