gpt4 book ai didi

python - 在 Python 中延迟评估/惰性评估

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:09 25 4
gpt4 key购买 nike

我想延迟对类实例的成员函数的调用的评估,直到该实例实际存在为止。

最小工作示例:

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.

我尝试使用 lambdayield 和生成器括号 () 但我似乎无法让这个简单的示例工作。

我该如何解决这个问题?

最佳答案

一个简单的 lambda 就可以了。调用时,该函数将从当前作用域中获取 test_class 变量,如果找到它,它将起作用,如下所示:

delayed_evaluation_0 = lambda : test_class.get_variable_0()
test_class = TestClass(3)
print(delayed_evaluation_0())

打印3

关于python - 在 Python 中延迟评估/惰性评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57687709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com