1

我在 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)

我有第一个向量,但是如何初始化第二个向量?

4

1 回答 1

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 []
于 2012-09-30T13:17:40.023 回答