jjzjj

python - 如何理解 Peter Norvig 的这段 Python 函数式代码?

在阅读PeterNorvig的PythonIAQ时,我遇到了这个代码片段:def_if(test):returnlambdaalternative:\lambdaresult:\[delay(result),delay(alternative)][notnottest]()defdelay(f):ifcallable(f):returnfelse:returnlambda:ffact=lambdan:_if(n我在网上搜索了一下,这个代码出现在几个论坛上,但是评论它的人似乎都明白它是如何工作的。我对函数式编程概念还很陌生。我知道如果测试评估为True,将选择delay(alternat