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)