这在 python2 中是可能的:
None < float('-inf')
还有,它always returns
True
然而,在 python3 上,这会抛出
TypeError: unorderable types: NoneType() < int()
Why is None
与 python2 的整数/浮点数相比?有什么好处或应用吗None
在 python2 中可以订购吗?
首先,Python 2 允许比较所有类型的混合类型。这个疣是Python 3 中已修复最终。
CPython 实现细节:不同类型的对象,除了
数字按其类型名称排序;相同类型的对象
不支持正确比较的按其地址排序。
For None
a Guido 和 Tim Peters 迅速做出了决定结果是这样的commit在Python 2.1(强调我的)中:
修复的一部分是删除一些“比较对象”的情况
通过比较类型名称字符串来区分不同的类型”。Guido 和我是
当时两人都在办公室,其中一人对另一人说:“那又怎么样?None
?通过比较字符串将其与其他类型进行比较'None'
没有多大意义。” “是的,好吧……改变一下怎么样?None
到 - 由
默认 -比较“小于”其他类型的对象?” “没看到
为什么不——当然。” “好的,完成了!
思考的时间不超过2分钟。没有意图
为了满足这里的任何实际用例 - 唯一的目的是选择一些
任意但一致的规则并不糟糕quite一样糟糕
假装 None 是字符串“None”;-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)