有人可以解释逻辑或语法吗
function()()
要么
function(function)()
一个例子: 我似乎无法理解其实际工作原理
func2(func1)("bye")
def func2(fn):
print("func2")
def func3(text2):
print("func3")
print(text2)
return func3
def func1():
print("func1")
func2(func1)("bye")
输出:
func2
func3
bye
答案 0 :(得分:1)
一个函数可以返回另一个函数。第一个调用,调用第一个函数,第二个调用第一个函数返回的函数。
嵌套定义是一个独立的概念,与问题无关(关于函数返回函数),因为func3仅存在于func2的范围内,这可能会造成混淆。
这是一个更简单的示例:
def f1(a):
print("Function f1 called")
print(a)
def f2(b):
print("Function f2 called")
print(b)
return f1
f2(1)(2)
Function f2 called
1
Function f1 called
2
答案 1 :(得分:-2)
Argument1
我们使用上述语法来调用带有两个参数Argument2
和def Add(arg1, arg2):
addition= arg1 +arg2
print( addition )
Add(2,3)
的函数。
示例:
Function(arg1)(arg2)
但是,当您使用一对一参数调用函数时
有点:
arg1
您使用第一个参数arg2
调用该函数,然后返回另一个函数,然后由第二个参数{{1}}调用