0
我尝试(在Python 2.7.6):为什么Python 2.7中的`()>''> []> {}> 0> None`?
() > '' > [] > {} > 0 > None
,并返回
True
为什么会这样呢?
我尝试(在Python 2.7.6):为什么Python 2.7中的`()>''> []> {}> 0> None`?
() > '' > [] > {} > 0 > None
,并返回
True
为什么会这样呢?
这是历史事故。
它是固定在Python 3:
>>>() > '' > [] > {} > 0 > None
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: tuple() > str()
或者换句话说,一个有序性所决定,但没有特定的逻辑/技术原因,他们应该为了以不同的方式方法,而不是。为了避免混淆的类型可以不再在Python 3.
在Python 2文档这种方式进行比较我只能找到:
对象不同的类型,除了不同的数值类型和不同类型的串,永远不会相等;这样的对象排序一致但任意(排序异构数组产生一致的结果)。
问题是为什么这些类型有可比性,或者为什么选择特定顺序? – 2014-12-02 17:11:12