我有一个矢量类,它给出了一个带有列表的向量,我需要能够向列表,元组和字符串添加向量或向量。如果它们长度不一样,我需要抛出一个类型错误。输出的一些例子:python将2个对象或对象添加到列表中
Vector([6,8,2])+Vector([4,-3,2])
Vector([10, 5, 4])
>>> Vector([6,8,2])+[4,-3,2]
Vector([10, 5, 4])
>>> (6,8,2)+Vector([4,-3,2])
Vector([10, 5, 4])
>>> v=Vector(["f","b"])
>>> v+=("oo","oo")
>>> v
Vector(['foo', 'boo'])
我需要做一个+函数和一个+ =函数。
的Python方法做我用它来重写+和+ =操作,也是我需要确保我的+操作的对象和序列和反向
你可以用'isinstance'来检查'other'参数的类型,例如'isinstance(other,Vector)' –
我认为'__iadd__'方法是你正在寻找的(+ =案件)。 http://stackoverflow.com/questions/1047021/overriding-in-python-iadd-method –
我让iadd为2个向量工作,我不知道为什么它不适用于向量和序列>>> v = Vector( [ “F”, “b”]) >>> v + =( “OO”, “OO”) 回溯(最近最后调用): 文件 “”,第1行,在 类型错误:不支持的操作数类型为+ =:'实例'和'元组' >>> –