首页 > 解决方案 > 函数中的 return x,y 和 return (x,y) 有什么区别?

问题描述

我正在看 MIT Open Course Ware 的计算机科学和 Python 编程简介。在介绍元组的第 5 讲中,教授说you are only allowed to return one object in functions。然后她说,元组对于返回多个对象值很方便。(对于任何想观看从 06:15 分钟开始的简短讲座的人)。问题是关于麻省理工学院讲座的:

是的,我们可以使用元组来返回和收集几个值。另一方面,Python 中的函数已经可以通过逗号分隔返回多个值。结果,我对讲师所说的感到困惑。通过用逗号分隔返回 2 个或更多值是否意味着这些对象正在成为元组的一个项目,尽管它没有明确声明?我错过了什么?换句话说,用逗号分隔x,y和用括号分隔有什么区别 as (x,y)。您可以使用以下功能提供解释。谢谢。

def smth(x,y):

   x = y % 2
   y = x % 5

   return x, y

标签: pythontuples

解决方案


是的,它们正在变成元组。如果你运行下面的代码你会发现类型是元组

def smth(x,y):

   x = y % 2
   y = x % 5

   return x, y

x=smth(10,20)
print(x)
print(type(x))

推荐阅读