我不是 100% 确定这是否称为惰性评估,但我希望在 Python 中做到这一点。
我有一个“设置向导”,用户将通过它然后创建一些全局变量,这些变量将用作类中的参数。
var = myClass(param1, param2)
在全局变量 param1 和 param2 存在之前,不应评估。但是,我需要 var 存在,因为我正在关联var0 = var.func
myClass 中的一个函数。稍后在应用程序中,调用 var0 并执行 func()。
更新
这是我的一些代码:
class myClass:
def __init__(self, param1, param2):
self.param1 = param1
self.param2 = param2
#------------------------------------------------------------------------
def myFunction(self):
"""
Some work here using self.param1 and self.param2
"""
def myFunction2(self):
"""
Some work here using self.param1 and self.param2
"""
def myFunction3(self):
"""
Some work here using self.param1 and self.param2
"""
myInstance = myClass(PARAM1, PARAM2)
myDict = {}
myDict["key1"] = myInstance.myFunction
myDict["key2"] = myInstance.myFunction2
myDict["key3"] = myInstance.myFunction3
# and so on...
PARAM1
并由PARAM2
用户通过 wxPython 向导内的操作填充为全局变量。问题是myInstance
无法在初始化时进行评估,因为PARAM1
它PARAM2
还不存在。但是,字典键在初始化时与各种函数相关联,因为它们不会随着时间而改变。
想法?