使用 time.time() 更新 Python 全局时间变量不起作用

Update Python global time variable using time.time() doesn't work

time.time() 创建的变量不应该是不可变的,对吧?因此,我应该能够将其更改为其他内容。我在执行此操作时遇到了问题,而且 .sleep() 方法似乎没有帮助。

我将变量e设置为当前时间。我打印e。然后我使用函数更新变量 e。然后我打印 e。两个打印的值应该不同,但事实并非如此。如何正确更新 "global" 变量 e?

import time

e = time.time()
print ('e is %f') %e

time.sleep(1.12)
def uu(x):
    #time.sleep(2)
    x = time.time()

uu(e)
print ('%f') %e

无论我什么时候放时间延迟,e的两次打印都是一模一样的。但是,我把e传给了函数,e不是不可变的,但它不会随着新的赋值语句而改变(即使函数调用之前有时间延迟[外部或内部])。

我期待这样的输出

e is 1432940101.000643
1432940102.120643

第一个值与第二个值相差任意数量。

这是一个 scope/namespace 问题。 e 已在全球范围内声明。即使我 e 传递给函数 uu,也不会更改 e.

的全局定义值

但是,如果我在 uu 中放置一个 print 语句,那么 e 在该函数的范围内,将具有不同的值。