【发布时间】:2017-10-16 18:23:54
【问题描述】:
当请求因授权问题而失败时,我应该从myfunction 调用myfunction。请参阅下面的代码。
def myfunction(parm1, parm2, parm3, parm4=None):
error_text = None
result = None
response, error_code = do_some_external_call()
if error_code == 401: # auth_error
login()
result, error_text = myfunction(parm1, parm2, parm3, parm4)
return result, error_text # ???
if response:
result = response.result
return result, error_text
我应该在标有??? 的行返回result, error_text 吗?还是打电话给return就够了?
【问题讨论】:
-
“打电话给
return就够了吗?” - 你试过了吗?发生了什么? -
也许我们在这里缺少代码,但您的参数都没有预先分配,您的目标是什么?你的问题对我来说似乎含糊不清。
-
@jonrsharpe,是的,我尝试过并且遇到了一些问题,但不确定它们是否与此特定行有关。结果我决定学习它是如何工作的。
-
@scharette,您所说的“没有预先分配您的参数”是什么意思?哪个参数没有赋值?
-
好吧,如果
result, error_text = myfunction(...)的路径不返回一连串的两件事,你希望它如何工作?您可以只使用return myfunction(...),然后您不必特别担心返回的内容。我不清楚你所说的“它是如何工作的” 是什么意思——你认为裸露的return会做什么?
标签: python function recursion return-value