Python 以元组的形式传递多个参数

Python 以元组的形式传递多个参数,python,class,object,arguments,tuples,Python,Class,Object,Arguments,Tuples,我传递了很多数据;具体地说,我试图将函数的输出传递到一个类中,并且输出包含一个包含三个变量的元组。我不能像在输入参数中那样直接将函数(元组)的输出传递到类中 如果没有input\u-tuple[0]、input\u-tuple[1]、input\u-tuple[2],如何格式化元组以使其被类接受 下面是一个简单的例子: #!/usr/bin/python class InputStuff(object): def __init__(self, a, b, c): se

我传递了很多数据;具体地说,我试图将函数的输出传递到一个类中,并且输出包含一个包含三个变量的元组。我不能像在输入参数中那样直接将函数(元组)的输出传递到类中

如果没有
input\u-tuple[0]、input\u-tuple[1]、input\u-tuple[2]
,如何格式化元组以使其被类接受

下面是一个简单的例子:

#!/usr/bin/python

class InputStuff(object):

    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c


input_tuple = (1, 2, 3)
instance_1 = InputStuff(input_tuple)

# Traceback (most recent call last):
#   File "Untitled 3.py", line 7, in <module>
#     instance_1 = InputStuff(input_tuple)
# TypeError: __init__() takes exactly 4 arguments (2 given)

InputStuff(1, 2, 3)
# This works
#/usr/bin/python
类InputStuff(对象):
定义初始化(self,a,b,c):
self.a=a
self.b=b
self.c=c
输入_元组=(1,2,3)
实例_1=InputStuff(输入_元组)
#回溯(最近一次呼叫最后一次):
#文件“Untitled 3.py”,第7行,在
#实例_1=InputStuff(输入_元组)
#TypeError:\uuuu init\uuuuuu()正好接受4个参数(给定2个)
输入材料(1、2、3)
#这很有效
您正在寻找:


您可以使用
*
运算符:


instance\u 1=InputStuff(*input\u tuple)
-看到了吗,你能把它作为一个答案,这样我就可以把它标记为正确的吗?我已经告诉过你重复的是什么-我会关闭它,但我已经没有票数了!(谢谢@BhargavRao)@jornsharpe我知道它可能是重复的,但是如果有人不知道*运算符,或者不知道用*解包参数列表是可能的,那么他们就不会搜索它来找到答案。我认为标题的措辞在搜索中非常直截了当。你的意思是像。。。?你认为我们需要多少不同的版本?
>>> range(3, 6)             # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args)            # call with arguments unpacked from a list
[3, 4, 5]
input_tuple = (1,2,3)
instance_1 = InputStuff(*input_tuple)