我有点困惑。让我们创建一个名为 x 的函数。我知道通过将 * 放在 y 之前,这意味着我们可以添加任意数量的参数。
def x(*y):
return y
然而。
情况1:
>>> x(1, 2)
(1, 2)
案例 2: 让我们传递一个带有星号的列表 [1,2]:
>>> x(*[1,2])
(1, 2)
似乎单个星号有两个用途:
- 允许在函数中使用多个参数 - 本质上是将它们放入列表中
- 如果执行两次,将列表“分解”为单独的项目
为什么是这样?为什么我不能这样做:*a*b?