[英]Return values from multiple if condition from a same function in 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)
我想要 result_failure 和 test_failure 值。 除了为每个函数创建单独的函数之外,还有什么方法吗?
我不完全知道你想要实现什么,但可能只是返回多个值会帮助你:
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)
像这样,您可以使用一个函数返回多个变量。 只需用逗号分隔它们。 它们将作为元组返回。 要将它们分开,您还可以声明 2 个变量,用您的函数用逗号分隔。
但是在您的示例中 result_failure 和 test_failure 获得相同的值。 你的 if 语句似乎是多余的,因为你只是用你自己设置的字符串触发它们。 因此,如果这没有帮助,那么您使用此脚本的目标会很有趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.