作为这篇文章的后续内容:
How to return more than one value from a function in Python?
另一个问题:
作为一名初学程序员,我被教导只从函数中返回一件事。
一个。返回不止一件事有什么隐藏的问题吗?
湾如果是这样,并且我想从一个长函数返回2个列表(即不调用2个单独的类似函数),那么从列表中创建一个元组有什么不对吗?
由于
答案 0 :(得分:6)
如果返回两件事是有道理的,是的......返回两件事。
例如,如果要根据某些条件(例如查找键/值对)拆分字符串,可以调用split_string_to_get_key_pair()
,您希望它返回(key, value)
的元组。
问题是,返回一个元组(这是多个返回值经常工作的方式)返回一个或两个?可以以任何一种方式进行论证,但只要返回的内容是一致且记录,那么您可以返回对您的程序有意义的内容。
答案 1 :(得分:3)
如果有意义,Python鼓励返回多个值。去吧。
答案 2 :(得分:3)
如果你将两个列表放在一个元组中,那么你基本上就会返回一个元素。 = d
答案 3 :(得分:3)
这个问题并非特定于Python,可能更适合Programmers.SE。
无论如何,关于你的问题:
一个。如果你回来的这些东西实际上是伪装的单一东西,并且它们将在大多数时间一起使用。例如,如果您要求某种颜色,则很少需要红色通道的值。因此,如果返回的值足够简单,或者如果包装类没有多大意义,那么只需返回一个元组。
湾没有,这是Python中常见的做法,正如@Amber所指出的那样。