我想了解
"apple" > 10
始终返回 True 。
我错误地将字符串与整数进行了比较。而不是引发错误,它返回布尔值。
我想背后的理由。
当检查大于Number的字符串时,它始终返回True。
eg 1: '' > 0 = True
eg 2: 'something' > 10 = True
etc, etc.
实际上是什么意思?
我已经尝试过,字符串,ID等字节。我不确定这是什么意思。
我可以理解它何时string > string
这里将根据排序顺序获得结果,如下所示,
>>> 'a' >= 'a'
True
>>> 'apple' >= 'a'
True
>>> 'apple' > 'a'
True
>>> 'apple' > 'b'
注意::在Python 3中,它将引发错误。 python 2.x呢?
我知道其排序依据。数字的优先级低于字符串。 但是,优先级基于内存消耗吗?
答案 0 :(得分:1)
我找到了这个定义:
对于python2:
“如果在数字和非数字之间进行比较,则数字(int,float)始终小于非数字,并且如果在两个非数字之间进行比较,则按字典顺序(str)或字母顺序进行类型名称(列表,字典,元组)。”
对于python3:
它将返回TypeError
。