考虑以下:
def funcA():
some process = dynamicVar
if dynamicVar == 1:
return dynamicVar
else:
print "no dynamicVar"
def main():
outcome = funcA()
如果“某些过程”部分的结果为 1,则 var dynamicVar 将作为outcome
主函数传回。如果 dynamicVar 不是 1,则例程将失败,因为没有返回任何参数。
我可以将结果包装为一个列表:
def funcA():
outcomeList = []
some process = dynamicVar
if dynamicVar == 1:
outcomeList.append(dynamicVar)
return outcomeList
else:
print "no dynamicVar"
return outcomeList
def main():
outcome = funcA()
if outcome != []:
do something using dynamicVar
else:
do something else!
或者也许作为字典项目。我能想到的两种解决方案中的每一种都涉及主/请求函数中的另一组处理。
这是处理这种可能性的“正确”方法吗?或者,还有更好的方法?
处理这个问题的正确方法是什么。我特别想尝试捕获try:
/except:
错误,因此在该示例中,用途是相反的,因此类似于:
def funcA():
some process = dynamicVar
if dynamicVar == 1:
return
else:
outcome = "no dynamicVar"
return outcome
def main():
try:
funcA()
except:
outcome = funcA.dynamicVar