在理解round()函数时我缺少什么?

Sou*_*osh 1 python rounding built-in

我正在查看python中的函数在线文档round(),其中说,

round(number[, ndigits])

....如果使用一个参数调用,则返回值为整数,否则与数字类型相同.

所以,我写了下面的代码.

x = round(32.7)
print 'x is now : ', x
print str(type(x))
print type(x).__name__
Run Code Online (Sandbox Code Playgroud)

让我解释一下我在上面的代码片段中使用的最后两个打印件.

  1. 第二次印刷是通过反复试验的方法.(今天是Python的第1天)
  2. 参考这个答案添加了第三个印刷品.

令人惊讶的是,目前的输出是

x现在是:33.0
<type'float'>
float

我在期待

x现在是:33
<type'int'>
int

我没有想法.我错过了什么?

PS对于任何有兴趣的人,a LIVE VERSION

wim*_*wim 7

在python 2.x中,round始终返回一个浮点数.

根据print语句的语法判断,你在python 2.x上.