以两种方式打印对象的属性

时间:2015-12-02 19:30:29

标签: python class oop

我得到了一个涉及面向对象编程的任务。类中的两个小函数要求能够以两种不同的方式显示对象的属性

>>> r1
Rectangle(Point(0,0),Point(1,1),'blue')

>>> print(r1)
I am a blue rectangle with bottom left corner at (2, 3) and top right corner at (2, 3).

这是我为两者编写的代码,但由于某种原因它只返回了sentece而不是其他:

def __repr__(self):
    return 'I am a '+str(self.color)+' rectangle with bottom left corner at '+str(self.p1.get())+' and top right corner at '+str(self.p2.get())+'.'

def __str_(self):
    return 'Rectangle('+str(self.p1)+','+str(self.p2)+','+str(self.color)+')'

但是当我测试它时,显示结果:

>>> r1
I am a red rectangle with bottom left corner at (0, 0) and top right corner at (1, 1).
>>> print(r1)
I am a red rectangle with bottom left corner at (0, 0) and top right corner at (1, 1).

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

_您错过__str_ __str__