检查该功能是否在另一个功能内部工作

时间:2017-07-18 18:53:15

标签: python

我有以下功能:

def outer_function():
    return 'It worked'

def fun():
    try:
        return function1()
    except:
        return function2()

执行fun()时,我想检查如果function1()正常工作,那么fun()可以返回一个这样的数组

[function1(),outer_function()]

我如何检查function1()是否在fun()内工作并返回所需的输出?

3 个答案:

答案 0 :(得分:2)

你可以为function1输出创建一个变量,如果function1抛出一个错误,它将停止return语句并进入catch / except。否则它将转到else语句并返回所需的数组:

def outer_function():
return 'It worked'

def fun():
    try:
        x = function1()
    except:
        return function2()
    else:
        return [x, outer_function()]

答案 1 :(得分:1)

不是返回(n-1),而是function1()

所以你的功能是:

return [function1(), outer_function()]

如果def fun(): try: return [function1(), outer_function()] except: return function2() 引发错误,则不会返回该数组。相反,try块将捕获异常。

注意:此代码取决于function1()function2不会引发任何错误的事实。

答案 2 :(得分:0)

我已经尝试过您的问题并在'Repl.it'在线编译器上进行了操作。 Here Your Link

def function1():
  try:
    return True
  except :
    return False

def function2():
  try:
    return True
  except:
    return False

def outer_function():
  return 'It worked'

def fun():
  if function1():
    return [function1(), outer_function()]
  else:
    return function2()

print(fun())