python - 从python中的同一函数返回多个if条件的值
问题描述
我想从 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 语句似乎是多余的,因为您只需使用上面设置的字符串来触发它们。因此,如果这没有帮助,那么您对这个脚本的目标是什么会很有趣。
推荐阅读
- xml - XSLT 删除同名节点中的节点
- docker - 挂载主机卷时无法重新启动Docker容器中的Jenkins
- java - 从可以采用多种形式并从 Java 中的 .properties 文件加载的字符串中提取值的最佳方法
- r - 循环遍历全局环境
- spring-boot - Spring Boot 教程,运行简单应用程序出错
- android - TypeError:null 不是对象(评估'RNGestureHandlerModule.default.Direction')
- javascript - 我可以自动将数据附加到链接吗?
- excel - 更改对列表框的引用以添加项目
- python - 将 Series 对象转换为有意义的字典 - Python
- github - 如何在 Github Actions 中覆盖工作目录(docker)