Python 返回多个值
使用 Python,我们可以一次返回多个值。显然,Python 中的大多数函数都返回一个值,通常是该函数完成的工作的结果。在本文中,您将了解到在 Python 中也可以返回多个值,而且您不需要字典、列表或数据类来执行此操作。
目录
<导航>- 用一个元组返回多个值
- Python 中返回多个值的替代方法
- 继续学习
用一个元组返回多个值
您需要做的就是在 return 语句之后列出您的值,用逗号分隔。下面是一个如何返回多个值以及如何一次将它们分配给多个变量的示例:
def get_user(id): # fetch user from database # .... return name, birthdate name, birthdate = get_user(4)
我们在这里实际做的是返回一个元组。我们可以写 return (name, birthdate)
同样,具有相同的效果。如果您想知道是否可以通过这种方式返回两个以上的值:是的,您可以!
在 Python 中使用元组返回多个值的最明显优势是我们可以直接将结果分配给多个变量。它超级干净简洁,就像 Python 的本意一样。
Python 中返回多个值的替代方法
在 Python 中使用元组返回多个值对于有限数量的值是可以的。因为我们可以直接将它们解包成明确命名的变量,所以实际上会产生非常可读、简洁的代码。
但是,一旦超过 2 或 3 个值,您应该查看数据类以保持代码的清洁和可读性。数据类本质上是一个常规类,用 @dataclass
注释 给它一些方便的额外功能。
例如,如果由于您运行的是较旧的 Python 版本而无法选择数据类,您也可以考虑返回:
- Python 字典,
- 一个 Python 列表,
- 或一个普通的类(对象)。
什么是最好的取决于您返回的数据类型。如果数据很好地适合列表,请使用列表。如果数据有键和值,请使用字典。如果您的数据更复杂,您甚至可能需要将多个列表放入字典中。请记住,在某些时候,使用(数据)类会更干净。
不断学习
- 全面了解 Python 元组和 Python 字典
- 我的函数介绍
- 深入了解 Python 函数中的更多高级 Python 函数技巧
Python