我正在尝试执行下面类似的操作:
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'
我确定这是一个基础问题,也许已经在其他地方有答案了,但它似乎太简单了,以至于很难搜索。
my_function(*x)
,它可以将元组x
展开并创建与其包含的元素数量相同的输入。 - Ma0my_function(*x)
的意思是将参数列表x
拆分并作为单独的参数传递给my_function
函数。具体来说,如果x
是一个包含多个元素的序列(如列表或元组),那么这些元素会被拆分并分别作为参数传递给函数。这种方式称为“拆包参数列表”。更多信息可以参考 https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists。 - khelwood