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不是不可变的,但它并没有随新的赋值语句而改变(即使在函数调用[外部或内部]之前有一段时间延迟)。 / p>
我期待像
这样的输出e is 1432940101.000643
1432940102.120643
第一个值与第二个值相差任何数量。
答案 0 :(得分:0)
这是一个范围/命名空间问题。 e
是全局声明的。即使我将 e
传递给函数 uu
,也不会改变 e
的全局定义值。
但是,如果我在 uu
中放置一个打印语句,那么具有该函数作用域的 e
将具有不同的值。