在某些级别的函数中,最终函数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(...) 等等
这个问题听起来可能很傻,但这就是我正在经历的,我写了一个项目,其中包含一些模块和一定级别的函数,因为一个函数调用另一个函数等等,最终函数到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(...) 等等