这是我的剧本:
import math
class Vector:
def __init__(self, x=0.0, y=0.0):
self.x = x
self.y = y
def ___str___(self):
return "{0}, {1}".format(self.x, self.y)
@classmethod
def vectorPoints(cls, p1, p2):
a = p2[0] - p1[0]
b = p2[1] - p1[1]
return Vector(a, b)
A = (1,5)
B = (2,7)
vectAB = Vector.vectorPoints(A, B)
print(vectAB)
vect = Vector(1, 0)
print(vect)
当我运行此脚本时,我得到:
<__main__.Vector object at 0x00FD5ED0>
<__main__.Vector object at 0x00FD5FF0>
显然__str__
方法没有返回任何内容。
答案 0 :(得分:10)
方法名称应为__str__
(周围有2个下划线),而不是___str___
(周围有3个下划线)。
答案 1 :(得分:3)
您使用三个下划线(_
)而不是正常的两个。