class C:
def __init__(self, a,b):
self.a = a
self.b = b
Case 1:
Obj1 = C(1,2)
print Obj1.a
print Obj1.b
Case 2:
l= [1,2]
Obj2 = C(l)
print Obj2.a
print Obj2.b
我想用作为初始化方法传递的列表来初始化类的对象,如情况2所示,但它显示语法错误。 有什么办法可以在python中做到这一点?
我发现我可以在这里使用拆包工具。感谢您的回答。 我可以通过将这两种方法结合起来来做这样的事情吗 我知道我可以再追加一个数字并将其传递给初始化对象,但是有没有办法将这两种东西结合起来?
class C:
def __init__(self, a,b):
self.a = a
self.b = b
self.c = c
l= [1,2]
Obj2 = C(*l,3)
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以通过*
l = [1, 2]
Obj2 = C(*l)
print(Obj2.a)
print(Obj2.b)
答案 2 :(得分:0)
您有两种选择,可以在外部或内部打开包装:
Inide:
class C:
def __init__(self, l):
self.a, self.b = l
C([1,2])
外部:
class C:
def __init__(self, a, b):
self.a = a
self.b = b
C(*[1, 2])