我想延迟对类实例的成员函数的调用的评估,直到该实例实际存在。
最小工作示例:
class TestClass:
def __init__(self, variable_0):
self.__variable_0 = variable_0
def get_variable_0(self):
return self.__variable_0
delayed_evaluation_0 = test_class.get_variable_0() # What should I change here to delay the evaluation?
test_class = TestClass(3)
print(delayed_evaluation_0.__next__) # Here, 'delayed_evaluation_0' should be evaluated for the first time.
我尝试使用lambda
, yield
和生成器括号()
但我似乎无法让这个简单的例子发挥作用。
我该如何解决这个问题?
一个简单的lambda
作品。调用时,该函数将获取test_class
来自当前作用域的变量,如果找到它,那就可以工作,如下所示:
delayed_evaluation_0 = lambda : test_class.get_variable_0()
test_class = TestClass(3)
print(delayed_evaluation_0())
prints 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)