Python 3.x Python中的返回函数
我很难理解Python中高阶函数的返回函数是如何工作的。谁能解释一下下面的代码是如何打印25的答案的Python 3.x Python中的返回函数,python-3.x,Python 3.x,我很难理解Python中高阶函数的返回函数是如何工作的。谁能解释一下下面的代码是如何打印25的答案的 def create_adder(x): def adder(y): return x + y return adder add_15 = create_adder(15) print(add_15(10)) 创建名为的加法器。现在x=15 `add_15 = create_adder(15) ` 函数定义在这里,不在这里 def
def create_adder(x):
def adder(y):
return x + y
return adder
add_15 = create_adder(15)
print(add_15(10))
创建名为的加法器。现在x=15
`add_15 = create_adder(15) `
函数定义在这里,不在这里
def adder(y):
返回而不输入加法器函数
return adder
现在将调用的_15(10)添加到加法器函数中。现在y=10
print(add_15(10))
函数也是一个对象!可以创建、返回、分配给变量等。
函数create_adder需要一个参数x,该参数将成为求和的第一个元素。然后它返回一个函数对象。
当使用create_加法器(15)调用create_加法器时,它使用数字15填充和的第一个元素,然后返回一个函数,该函数接收另一个数字并被分配给加法15。
当使用add_15(10)调用add_15时,它使用数字10填充它对求和中第二个元素的要求,然后返回结果
def create_adder(x):
def adder(y):
return x + y
return adder
此函数正在创建并返回一个新函数。这就是高阶函数的全部内容。函数可以像处理任何其他数据一样处理
add_15 = create_adder(15)
此行使用上面定义的函数定义一个始终添加15的函数。为了更好地理解这一点,您可以将上面定义的加法器
嵌套函数视为一个模板。然后add_15
变成:
def adder(y):
return 15 + y
15
来自x
传递给create\u adder
print(add_15(10))
最后,当您执行此操作时,它返回15+10
,即25