我知道您可以像这样调用python函数:
func(x,y,z)
但是您可以调用这样的函数吗?
func(x)(y)
答案 0 :(得分:3)
是,如果函数返回一个函数对象。例如:
def a(x):
def b(y):
return x + y
return b
print(a(2)(3))
输出:5
答案 1 :(得分:-1)
这仅在创建子例程时有用
一个愚蠢的例子:
a = lambda x,y: lambda z: x+y+z
a(1,1)(3)
5
这个例子没有道理。要理解这一点,我们可以做:
a = lambda x:lambda y:y**(1/x)
>>> a(2)(4)
2.0
>>> a(2)(16)
4.0
>>> sqrt = a(2)
>>> sqrt(4)
2.0
>>> cubert = a(3)
>>> cubert(8)
2.0