我在python类上有我的第一个任务:
vectors.py
MyVector
get_vector()
方法返回包含向量元素的一维数组。__ mul__(self, other)
实现MyVector类型的两个对象的点积。输出是标量(单个数字)。现在看来是这样的:
class MyVector:
def __init__(self,vector=[]):
self.vector=vector
def get_vector(self):
return (self.vector)
def __mul__(self,other):
dot=sum(p*q for p,q in zip(self.vector, WHAT IS HERE?))
return(dot)
我有第一个矢量,但我怎么能初始化第二个?
答案 0 :(得分:3)
如果您认为特殊other
方法的__mul__
参数是MyVector
的实例,那么该实例还将具有名为vector
的属性,您可以访问:
def __mul__(self,other):
dot=sum(p*q for p,q in zip(self.vector, other.vector))
return (dot)
并且不要在函数参数中使用[]
作为默认值,请使用以下内容:
def __init__(self,vector=None):
self.vector=vector if vector else []