Python中使用return返回多个结果

Posted 梧桐一叶知天下秋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中使用return返回多个结果相关的知识,希望对你有一定的参考价值。

在写脚本的时候,因为自己没有充分解耦好每个函数的功能,出现了某个函数要一次返回多个结果的情况。那今天就来说下如果出现了return中需要返回多个结果时要怎么解决吧:

1、封装成对象返回:把多个结果封装成一个对象,直接返回该对象即可。示例:

 1 class Result:
 2     def __init__(self, result1, result2, result3, result4):
 3         self.result1 = result1
 4         self.result2 = result2
 5         self.result3 = result3
 6         self.result4 = result4
 7 
 8 
 9 def return_results(num1, num2):
10     result1 = num1 + num2
11     result2 = num1 - num2
12     result3 = num1 * num2
13     result4 = num1 / num2
14     # 封装成result对象
15     result = Result(result1, result2, result3, result4)
16     return result
17 
18 
19 if __name__ == \'__main__\':
20     result = return_results(13, 4)
21     print(result.result1)
22     print(result.result2)
23     print(result.result3)
24     print(result.result4)
View Code

 

2、返回元组:直接在return后写返回的内容,最后拿到的就是一个元组。返回起来方便是真方便,但是觉得代码就不太美观了;而且后续操作直接用序号取值,个人感觉代码可读性也会下降,示例:

 1 def return_results(num1, num2):
 2     result1 = num1 + num2
 3     result2 = num1 - num2
 4     result3 = num1 * num2
 5     result4 = num1 / num2
 6     return result1, result2, result3, result4
 7 
 8 
 9 if __name__ == \'__main__\':
10     results = return_results(13, 4)
11     print(type(results))
12     for result in results:
13         print(result)
View Code

 

3、返回列表:以列表的形式返回结果,比起元组,直接在返回的内容前后加上[];不过列表后续可以继续修改返回的结果,元组则不可以,示例:

 1 def return_results(num1, num2):
 2     result1 = num1 + num2
 3     result2 = num1 - num2
 4     result3 = num1 * num2
 5     result4 = num1 / num2
 6     return [result1, result2, result3, result4]
 7 
 8 
 9 if __name__ == \'__main__\':
10     results = return_results(13, 4)
11     print(type(results))
12     for result in results:
13         print(result)
View Code


4、返回字典:把多个结果封装成字典返回,示例:

 1 def return_results(num1, num2):
 2     result1 = num1 + num2
 3     result2 = num1 - num2
 4     result3 = num1 * num2
 5     result4 = num1 / num2
 6 
 7     d = dict()
 8     d[\'result1\'] = result1
 9     d[\'result2\'] = result2
10     d[\'result3\'] = result3
11     d[\'result4\'] = result4
12     return d
13 
14 
15 if __name__ == \'__main__\':
16     result = return_results(13, 4)
17     print(type(result))
18     for key in result.keys():
19         print(result[key])
View Code

 

以上是关于Python中使用return返回多个结果的主要内容,如果未能解决你的问题,请参考以下文章

Python函数

函数的多个返回值

Python函数返回不定数量的值

python学习——函数

zhlan--Python函数中的return

替换从 VAST 代码返回的多个 HLS VOD 片段