我正在尝试创建一个获取数字和返回函数的函数.例如:
>>> const_function(2)(2) 2 >>> const_function(4)(2) 4
如何将函数作为输出返回?我试着写这个:
def const_function(c): def helper(x): return c return helper(x)
为什么这不起作用?
您将返回调用该函数的结果.如果你想返回函数本身,只需在不调用它的情况下引用它:
def const_function(c): def helper(x): return c return helper # don't call it
现在您可以将它与期望的结果一起使用:
>>> const_function(2).helper at 0x0000000002B38D90> >>> const_function(2)(2) 2 >>> const_function(4)(2) 4
尝试:
return helper
当你这样做时:
return helper(x)
它计算结果helper(x)
并返回它.当你return helper
它将返回功能本身.