python收集多个函数的返回值,并在一个非主函数上验证所有函数的输入

时间:2014-07-10 22:57:30

标签: python function if-statement

我正在寻找解决方案,我可以确保针对每个函数测试输入值,并针对所有错误情况返回。

这是我的代码。

def func_a(value):
   do something
   return

def func_b(value):
    do something
    return

def func_c(value):
    do something
    return

def final(value):
    A=def_a(value)
    B=def_b(value)
    C=def_c(value)
    if A != foo:
      return A
    elif B != foo:
      return B
    elif C != foo:
      return C
    else:
       return'Success'

    main()

       print final(value)

问题:

我将一个文件作为值传递,其中每一行都应针对某些测试进行测试。现在如果行中存在与def_a()匹配的问题,则会执行def_a(),但由于def final()中的if循环,该行未针对剩余函数(fund_b,fund_c)进行测试。

问题:

有没有办法,我可以制作一个def final()这样的方式,每行测试所有函数,如果该行匹配多个函数,那么两个条件都将被执行?

1 个答案:

答案 0 :(得分:0)

将函数结果存储在字典中并根据需要返回:

def final(value):
    result = {'A':def_a(value),
              'B':def_b(value),
              'C':def_c(value)}
    if any(item != foo for item in result.values()):
      return result
    else:
       return'Success'