Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以元组作为输入初始化类_Python_Python 3.x_Class - Fatal编程技术网

Python 以元组作为输入初始化类

Python 以元组作为输入初始化类,python,python-3.x,class,Python,Python 3.x,Class,我正在尝试(因为我认为它应该存在)定义一个类,但它将接收一个元组作为输入 我的意思是: class Class_name: def __init__(self, (a,b)): 但它显然产生了一个错误。我不知道,我只是想画出许多复数,我写在一个两列的列表中,它的实部和虚部。我知道我可以解包,但我想知道是否有一种方法可以直接解包,这样我就不能将(1,2)作为输入,而不是1,2。谢谢 您有三种选择,具体取决于您要完成的任务 一个参数 如果需要,可以在\uuuu init\uuuu中解包 c

我正在尝试(因为我认为它应该存在)定义一个类,但它将接收一个元组作为输入

我的意思是:

class Class_name:
    def __init__(self, (a,b)):

但它显然产生了一个错误。我不知道,我只是想画出许多复数,我写在一个两列的列表中,它的实部和虚部。我知道我可以解包,但我想知道是否有一种方法可以直接解包,这样我就不能将(1,2)作为输入,而不是1,2。谢谢

您有三种选择,具体取决于您要完成的任务

一个参数 如果需要,可以在
\uuuu init\uuuu
中解包

class MyClass:
    def __init__(self, t):
        self.a, self.b = t

foo = (1, 2)
MyClass(foo)
class MyClass:
    def __init__(self, a, b):
        self.a = a
        self.b = b

foo = (1, 2)
MyClass(*foo)
两个参数 如果需要,可以在实例化时解包

class MyClass:
    def __init__(self, t):
        self.a, self.b = t

foo = (1, 2)
MyClass(foo)
class MyClass:
    def __init__(self, a, b):
        self.a = a
        self.b = b

foo = (1, 2)
MyClass(*foo)
本机
complex
类型
这回答了你的问题吗?只需使用
def\uu init\uuu(self,a,b)
,然后调用
Class\u name(*包含a和b的元组)
。Python有一个用于复数的
复杂类型。考虑<代码>列表(map(复数,[1,2,3],[4],5],6])的输出。