使用 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
在该函数的范围内,将具有不同的值。
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
在该函数的范围内,将具有不同的值。