在python中传递外部函数的参数作为内部函数的参数



我想通过一个外部函数使用多个函数。参数是一个字符串,我想在这个字符串上为内部函数创建/传递参数。这怎么可能?

def outer_function(arg1):

arg2 = 'random_text' + str(arg1)
arg3 = 'random_text' + str(arg1)

def inner_function(arg2,arg3):
global var
do_something ...
return inner_function()

我得到的错误是:

TypeError: inner_function() missing 2 required positional arguments:

不要使用global,如果不将变量作为参数传递,也不要将其指定为参数。函数自动可以访问封闭范围中的值。

def outer_function(arg1):
arg2 = 'random_text' + str(arg1)
arg3 = 'random_text' + str(arg1)
def inner_function():
return arg2 + arg3
return inner_function()
>>> outer_function(" foo ")
'random_text foo random_text foo '

您没有在return inner_funtion()中传递参数或参数,下面的代码可以帮助

def outer_function(arg1):
arg2 = 'random_text' + str(arg1)
arg3 = 'random_text' + str(arg1)
def inner_function(arg2,arg3):
global var
do_something ...
return inner_function(arg2,arg3)

最新更新