老师你好,关于+的问题

来源:2-5 实现向量的基本运算.

宝慕林5414044

2018-08-14

请问为什么在main_vector里vec = Vector([5,2]), vec1 = Vector([1,2]), print(__add__(vec, vec2))是不对的呢

写回答

1回答

liuyubobobo

2018-08-15

因为 __add__不是一个函数,而是定义在Vector下的一个对象方法,需要基于对象调用。


这样是正确的。

print(vec.__add__(vec2))


在这点上,请仔细体会你已经学习过的面向对象语言和Python语言的异同。其实在面向对象的基本概念上是一致的,只不过语法有区别:)


但是__add__作为一个魔法方法,它的意义就是重载加号,所以不会有人用上面的写法。下面的写法是标准的:

print(vec + vec2)


加油!

0
3
宝慕林5414044
回复
liuyubobobo
原来如此,了解了,谢谢老师及时的回复。
2018-08-15
共3条回复

结合编程学数学 专为程序员设计的线性代数

创新设计,通俗易懂。编程结合数学,bobo带你彻底征服线性代数

3404 学习 · 375 问题

查看课程