给函数传递多个参数?

4

我正在尝试执行下面类似的操作:

a = 2
b = 4
c = 6

def my_function(a,b,c):
    a1 = a*2
    b1 = b*2
    c1 = c*2
    return (a1,b1,c1)

x = my_function(a,b,c)

my_function(x)

我希望在满足特定条件时,能够迭代地调用my_function()函数。

然而,我得到的结果是:

TypeError: my_function() missing 2 required positional arguments: 'b' and 'c'

我确定这是一个基础问题,也许已经在其他地方有答案了,但它似乎太简单了,以至于很难搜索。


1
使用my_function(*x),它可以将元组x展开并创建与其包含的元素数量相同的输入。 - Ma0
7
这段代码 my_function(*x) 的意思是将参数列表 x 拆分并作为单独的参数传递给 my_function 函数。具体来说,如果 x 是一个包含多个元素的序列(如列表或元组),那么这些元素会被拆分并分别作为参数传递给函数。这种方式称为“拆包参数列表”。更多信息可以参考 https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists。 - khelwood
2个回答

5
使用*来解包元组,以便将其所有元素作为不同参数传递。
my_function(*x)

3
使用“星号参数”语法。
my_function(*x)

请点击此处查看更多相关信息。


完美的,谢谢。我就知道它会是一些简单的东西! - arachnid_roller_pumpkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接