最佳答案
在 Codewars.com上,我遇到了以下任务:
创建一个函数
add
,在连续调用时将数字相加。所以add(1)
应该返回1
,add(1)(2)
应该返回1+2
,..。
虽然我熟悉 Python 的基础知识,但我从未遇到过能够以这种顺序调用的函数,即可以调用为 f(x)(y)(z)...
的函数 f(x)
。到目前为止,我甚至不知道如何解释这个符号。
作为一个数学家,我怀疑 f(x)(y)
是一个函数,它为每个 x
分配一个函数 g_{x}
,然后返回 g_{x}(y)
,对于 f(x)(y)(z)
也是如此。
如果这种解释是正确的,Python 将允许我动态地创建对我来说非常有趣的函数。我在网上搜索了一个小时,但没有找到正确方向的线索。不过,由于我不知道这个编程概念是如何调用的,因此这可能并不太令人惊讶。
你怎么称呼这个概念,我可以在哪里阅读更多有关它的内容?