Если у меня есть список lst = [1 2 3]
(в качестве примера), и я хочу написать класс с именем Vector
. Когда я передаю этот список в Vector
, то есть когда я создаю экземпляр Vector(lst)
, он должен дать тот же объект, что и когда я хочу передать этот список, следующим образом: Vector(*lst)
. Точнее, как мне написать конструктор, когда я хочу иметь
Vector(lst) == Vector(*lst)
?
Это должен быть 3-мерный Vector
. Я пытался
def __init__(self,x,y,z): # constructor
self.x = x
self.y = y
self.z = z
, но это выдает ошибку:
Traceback (most recent call last):
File "main.py", line 12, in <module>
test.assert_equals(Vector(examples[0]), Vector(*examples[0]))
TypeError: __init__() missing 2 required positional arguments: 'y' and 'z'
Что я делаю не так?