我想创建一个变量,每次查询时都会返回一个不同的值。如何创建动态变量?
这是我到目前为止有:
import datetime
def getVal():
return datetime.datetime.now().time()
TMP_VAR = lambda: getVal()
for a in range(0,10):
print TMP_VAR()
这工作,我得到:
13:06:41.799504
13:06:41.800129
13:06:41.800139
13:06:41.800145
13:06:41.800161
13:06:41.800167
13:06:41.800173
13:06:41.800179
13:06:41.800184
13:06:41.800190
如何过,TMP_VAR
是一个功能了。有没有办法让这个工作以下面的方式?
print TMP_VAR
实际上,有一个可调用函数链接到一个变量。所以每当我把我的TMP_VAR
传递给另一个函数时,作为一个参数,它总是重新计算并恰好保持一个新值(不管getVal()
函数在那一刻返回)。
看来好像没有简单的解决方案来解决这个问题。使用'TMP_VAR()'而不是'TMP_VAR'似乎是比实现基于类的方法更好的解决方案。 – symbolix