将参数传递给 Python 中的内部函数
Passing parameter to inner function in Python
在 python 中学习范围时,我遇到了以下简单代码。我的疑问是如何将参数传递给函数中的 outer_var 和 inner_var。
def outerfunc(outer_var):
def innerfunc(inner_var):
return outer_var * inner_var
return innerfunc
基本上,是的,就像@jonrsharpe 说的:这是因为闭包。
闭包 "close" 函数内的状态周围可以稍后使用。每次你 运行 outerfunc()
,代码都会定义一个新版本的 innerfunc()
,它可以访问当时传递的 outer_var
。
闭包使参数化装饰器起作用。
在 python 中学习范围时,我遇到了以下简单代码。我的疑问是如何将参数传递给函数中的 outer_var 和 inner_var。
def outerfunc(outer_var):
def innerfunc(inner_var):
return outer_var * inner_var
return innerfunc
基本上,是的,就像@jonrsharpe 说的:这是因为闭包。
闭包 "close" 函数内的状态周围可以稍后使用。每次你 运行 outerfunc()
,代码都会定义一个新版本的 innerfunc()
,它可以访问当时传递的 outer_var
。
闭包使参数化装饰器起作用。