这个问题是针对python的,虽然我不介意用户分享其他语言的经验。
基本上我的问题是试图将惰性变量传递给函数。(在我的情况下,我可能无法控制该功能,因此无法将其更改为将生成器作为输入)。
示例(请注意 dict.get 是函数的示例,但也可能是 foo)
def calc():
sleep(10**100)
return 42
def my_args():
yield 'meaning'
yield calc()
#Instead of
meaning_of_life = dict_.get('meaning', calc())
#I would rather
meaning_of_life = dict_.get(my_args)
我不认为有任何一种优雅的解决方案吗?可能需要复杂的猴子补丁?(如果是这样,我不值得尝试)。
谢谢。