我在理解为什么 python 不会将浮点数转换为 int 时遇到了一点问题。以下是代码片段。
import time
now = time.time()
print type(now)
int(now)
print type(now)
这就是我得到的结果,我不太明白为什么。有任何想法吗?提前致谢
<type 'float'>
<type 'float'>
您必须now
像这样重新分配:
now = int(now)
int()
转换不会就地进行 - 它仅返回转换结果,这就是您需要重新分配新now
值的原因。
作为一般规则,函数返回一个新值,而方法在原地运行。关于函数和方法的区别,请看这个问题。
int()
不能就地操作。您仍然必须覆盖now
:
now = int(now)
虽然我只是一次做这一切:
now = int(time.time())
您现在从未设置为 int 版本
import time
now = time.time()
print type(now)
now = int(now) # set now to int version
print type(now)