0

我在理解为什么 python 不会将浮点数转换为 int 时遇到了一点问题。以下是代码片段。

import time

now = time.time()
print type(now)
int(now)
print type(now)

这就是我得到的结果,我不太明白为什么。有任何想法吗?提前致谢

<type 'float'>
<type 'float'>
4

3 回答 3

8

您必须now像这样重新分配:

now = int(now)

int()转换不会就地进行 - 它仅返回转换结果,这就是您需要重新分配新now值的原因。

作为一般规则,函数返回一个新值,而方法在原地运行。关于函数和方法的区别,请看这个问题

于 2013-01-15T03:11:36.640 回答
3

int()不能就地操作。您仍然必须覆盖now

now = int(now)

虽然我只是一次做这一切:

now = int(time.time())
于 2013-01-15T03:11:09.673 回答
3

您现在从未设置为 int 版本

import time
now = time.time()
print type(now)
now = int(now) # set now to int version
print type(now)
于 2013-01-15T03:12:08.093 回答