为什么python int()的工作方式如下?

use*_*866 4 python int

只是随机尝试了这个:

>>> int(-1/2)
-1
>>> int(-0.5)
0
Run Code Online (Sandbox Code Playgroud)

为什么结果不同?

The*_*nse 6

试试这个:

>>> -1/2
-1
>>> -0.5
-0.5
Run Code Online (Sandbox Code Playgroud)

区别在于整数除法(前者)在某些版本的Python中导致整数,而不是像第二个数字那样的浮点数.你使用int两个不同的数字,所以你会得到不同的结果.如果您先指定浮点数,您将看到差异消失.

>>> -1.0/2.0
-0.5
>>> int(-1.0/2.0)
0
>>> int(-0.5)
0
Run Code Online (Sandbox Code Playgroud)

  • 有些== Python 2.x默认情况下. (3认同)