python中同一函数的多个if条件返回值

2024-04-25 14:11:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从python中的同一个函数的多个if条件返回值,然后想使用每个if条件的所有返回值。有可能吗

class Failure():
  
@staticmethod
def user_failure(input):
    bad_char = ['(', ')']
    failure_reason = re.findall("(FAIL)(.*)", input)[0][1]
    failure_reason = ''.join(
        i for i in failure_reason if not i in bad_char).strip()
    return failure_reason

def get_failure_reason(self):
    result = 'RESULT                => FAIL(Failure includes TCs)'
    test = 'Test                  => FAIL (Test log not found)'

    if 'FAIL' in result:
        result_failure = Failure.user_failure(result)
        return result_failure

    if 'FAIL' in test:
        test_failure = Failure.user_failure(test)
        return test_failure

obj = Failure()
output = obj.get_failure_reason()
print(output)

我想要结果失败和测试失败值。除了为它们各自创建单独的函数外,还有其他方法吗


Tags: 函数intestinputreturniffailuredef
1条回答
网友
1楼 · 发布于 2024-04-25 14:11:36

我不知道您想要实现什么,但可能只是返回多个值就可以帮助您:

def get_failure_reason(self):
    result = 'RESULT                => FAIL(Failure includes TCs)'
    test = 'Test                  => FAIL (Test log not found)'

    if 'FAIL' in result:
        result_failure = Failure.user_failure(result)

    if 'FAIL' in test:
        test_failure = Failure.user_failure(test)

    return result_failure, test_failure

result_failure, test_failure = obj.get_failure_reason()
print(result_failure, test_failure)

这样,您可以使用一个函数返回多个变量。用逗号把它们分开。它们将作为元组返回。要将它们分开,还可以在函数中声明两个用逗号分隔的变量

但在您的示例中,result_failure和test_failure得到的值相同。你的if语句看起来是多余的,因为你只是用你自己设置的字符串触发它们。因此,如果这没有帮助的话,那么这个脚本的目标是什么就很有趣了

相关问题 更多 >