我有一点问题要理解为什么python不会将浮点数转换为int。以下是代码段。
import time
now = time.time()
print type(now)
int(now)
print type(now)
这是我得到的结果,我无法弄明白为什么。有任何想法吗?提前致谢
<type 'float'>
<type 'float'>
答案 0 :(得分:8)
你必须重新分配now
,如下:
now = int(now)
int()
转换无法正常运行 - 它只返回转化结果,这就是您需要将now
重新分配给新值的原因。
作为一般规则,功能会返回新值,而方法会在适当的位置运行。有关函数和方法之间的区别,请参阅this question。
答案 1 :(得分:3)
int()
无法就地运作。您仍然需要覆盖now
:
now = int(now)
虽然我马上就这么做了:
now = int(time.time())
答案 2 :(得分:3)
您现在从未设置为int版本
import time
now = time.time()
print type(now)
now = int(now) # set now to int version
print type(now)