老师你好,关于+的问题
来源:2-5 实现向量的基本运算.
宝慕林5414044
2018-08-14
请问为什么在main_vector里vec = Vector([5,2]), vec1 = Vector([1,2]), print(__add__(vec, vec2))是不对的呢
写回答
1回答
-
因为 __add__不是一个函数,而是定义在Vector下的一个对象方法,需要基于对象调用。
这样是正确的。
print(vec.__add__(vec2))
在这点上,请仔细体会你已经学习过的面向对象语言和Python语言的异同。其实在面向对象的基本概念上是一致的,只不过语法有区别:)
但是__add__作为一个魔法方法,它的意义就是重载加号,所以不会有人用上面的写法。下面的写法是标准的:
print(vec + vec2)
加油!
032018-08-15
相似问题