In [32]: object() > 0
Out[32]: True
Run Code Online (Sandbox Code Playgroud)
事实上,它比我尝试过的任何整数都要大.
JBe*_*rdo 12
因为Python 2.x试图在不同类型的对象之间进行比较(即使它们没有意义).
它已在Python 3上修复:
>>> object() > 0
Traceback (most recent call last):
File "<pyshell#320>", line 1, in <module>
object() > 0
TypeError: unorderable types: object() > int()
Run Code Online (Sandbox Code Playgroud)
Python 2.x中使用的顺序:
None < Numbers < [Other types in alphabetical order]
Run Code Online (Sandbox Code Playgroud)
数字是:int,bool和float而不是complex因为他们不能比拟的
此外,来自旧样式类(命名instance对象)的对象保留在其间None并且Numbers出于某种奇怪的原因.
| 归档时间: |
|
| 查看次数: |
218 次 |
| 最近记录: |