What am I missing in understanding round() function?
我在看python中的
round(number[, ndigits]) ....The return value is an integer if called with one argument, otherwise of the same type as number.
所以,我写了下面的代码。
1 2 3 4 | x = round(32.7) print 'x is now : ', x print str(type(x)) print type(x).__name__ |
让我解释一下我在上面的片段中使用的最后两个印刷品。
令人惊讶的是,电流输出是
x is now : 33.0
float
我期待着
x is now : 33
int
我没主意了。我错过了什么?
P.S.对于任何感兴趣的人,LIve版本
在python 2.x中,
根据打印语句的语法判断,您使用的是python 2.x。
而不是用圆形的…!尝试这样做是因为round函数是对float值进行四舍五入。
然而,对int的round和type强制转换都在background下执行相同的工作
希望这有帮助….!
1 2 3 4 | x = int(32.7) print 'x is now :',x print str(type(x)) print type(x).__name__ |
或
1 2 3 4 5 | y=32.7 x=int(y) print 'x is now :',x print str(type(x)) print type(x).__name__ |