在python中是什么意思? “苹果”> 30 =真

时间:2019-06-26 13:26:38

标签: python python-2.x string-comparison

我想了解

"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呢?

我知道其排序依据。数字的优先级低于字符串。 但是,优先级基于内存消耗吗?

1 个答案:

答案 0 :(得分:1)

我找到了这个定义:

对于python2:

“如果在数字和非数字之间进行比较,则数字(int,float)始终小于非数字,并且如果在两个非数字之间进行比较,则按字典顺序(str)或字母顺序进行类型名称(列表,字典,元组)。”

对于python3:

它将返回TypeError