Python惰性评估器
问题内容:
是否有Python方式封装惰性函数调用,从而在第一次使用该函数时f()
,它会调用先前绑定的函数,g(Z)
而在后续调用中会f()
返回一个缓存的值?
请注意,记忆可能并不完美。
我有:
f = g(Z)
if x:
return 5
elif y:
return f
elif z:
return h(f)
该代码有效,但我想对其进行重组,以便g(Z)
仅在使用该值时调用它。我不想更改的定义g(...)
,并且Z
要缓存有点大。
编辑:我认为这f
将必须是一个函数,但事实并非如此。
问题答案: