作为这篇文章的后续:
一个单独的问题:
作为初学者程序员,我被教导只从函数中返回一件事。
一个。退货不止一件有什么隐藏的问题吗?
湾。如果是这样,并且我想从一个长函数中返回 2 个列表(即不调用 2 个单独的类似函数),那么从列表中创建一个元组有什么问题吗?
谢谢
作为这篇文章的后续:
一个单独的问题:
作为初学者程序员,我被教导只从函数中返回一件事。
一个。退货不止一件有什么隐藏的问题吗?
湾。如果是这样,并且我想从一个长函数中返回 2 个列表(即不调用 2 个单独的类似函数),那么从列表中创建一个元组有什么问题吗?
谢谢
如果返回两件事有意义,是的……返回两件事。
例如,如果您想根据某些条件拆分字符串,例如查找键/值对,您可能会调用split_string_to_get_key_pair()
您希望它返回一个(key, value)
.
问题是,返回一个元组(多个返回值通常如何工作)返回一两件事?任何一种方式都可以提出论点,但只要返回的内容是一致的并记录在案,那么您就可以返回对您的程序有意义的内容。
如果有意义,Python 鼓励返回多个值。去吧。
这个问题并不是真正特定于 Python 的,可能更适合Programmers.SE。
无论如何,关于你的问题:
一个。如果您要返回的这些东西实际上是变相的单一东西,并且它们大部分时间会一起使用,则不会。例如,如果您请求某物的颜色,您很少只需要红色通道的值。因此,如果返回值足够简单,或者包装类没有多大意义,则只需返回一个元组。
湾。没有,正如@Amber 所指出的,这是 Python 中的一种常见做法。
如果你把这两个列表放到一个元组中,你实际上是在返回一件事。=D