この質問は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)
1行のエレガントなソリューションはないと思いますか? おそらく複雑なモンキーパッチが必要ですか? (もしそうなら、私が試す価値はありません)。
ありがとう。