在某些级别的函数中,最终函数returns的值在哪里?

At certain levels of functions, where does the final function returns the value?

这个问题听起来可能很傻,但这就是我正在经历的,我写了一个项目,其中包含一些模块和一定级别的函数,因为一个函数调用另一个函数等等,最终函数到return 结果,字典。

当我在第一层调用函数时,一切正常,直到最后一个函数,

在最后一个函数中,

打印 return 字典效果很好,而 return 使用 return result return None

编辑字典

我的函数数量有限,分布在不同的模块中。

# on module 1
def funciton_one(the_user_input):
    # code to process param at 
    # stage 1 if conditions are met
    function_two(parameter,the_user_input)

# on module 2
def function_two(parameter,the_user_input):
    # code to process param at 
    # stage 2 if conditions are met
    function_three(parameter,the_user_input)

# on module 3
def function_three(parameter,the_user_input):
    # code to process param at 
    # stage 3 if conditions are met
    function_four(parameter,the_user_input)

# on module 4
def function_four(parameter,the_user_input):
    # code to process param at 
    # stage 4 if conditions are met
    function_five(parameter,the_user_input)

# on module 5
def function_five(parameter,the_user_input):
    # code to process param at 
    # stage 5 if conditions are met
    function_six(parameter,the_user_input)

# on module 1
def function_six(parameter,the_user_input):
    # code to the process parameter and original parameter 
    # stage 6 if conditions are met
    return result

user_input = 'blahblah'
processed = function_one(user_input)

我哪里做错了?

编辑: 它的输入是通过所有函数传递的,(第一个函数的输入是original_parameter)并且参数是在不同级别处理的值。

更新: 搞砸了,重命名变量。 谢谢

我猜你想把你的最终输出变成 processed?您需要 return 每个函数的最终结果,因此 function_six returns 到 function_five,returns 到 function_four,等等., 直到 function_one returns 进入 processed 变量。

我稍微更改了您的代码以使其工作(function_one 中没有 original_param。下次,请在发布之前确保您的示例代码有效。

# on module 1
def function_one(parameter):
    return function_two(parameter,parameter)

# on module 2
def function_two(parameter,original_param):
    return function_three(parameter,original_param)

# on module 3
def function_three(parameter,original_param):
    return function_four(parameter,original_param)

# on module 4
def function_four(parameter,original_param):
    return function_five(parameter,original_param)

# on module 5
def function_five(parameter,original_param):
    return function_six(parameter,original_param)

# on module 1
def function_six(parameter,original_param):
    result = "foobar"
    return result # returns foobar

user_input = 'blahblah'
processed = function_one(user_input)
print processed # prints foobar

您希望每个函数 return 调用下一个函数的结果。

在您传递给的每个函数中都应该有一个变量来保存 value/dict/list。意味着应该有像 var=function1(...) 等等