0
Мне присвоено задание, связанное с объектно-ориентированным программированием. Два небольших функций в классе попросить, чтобы иметь возможность отобразить свойства объекта двумя различными способамиСвойства печати объекта двумя способами
>>> 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).
Что я здесь делаю неправильно?
Вы можете уточнить больше? –
@IronFist Моя программа возвращает только предложение «Я ...», а не оператор «Прямоугольник» –
Вам не хватает нижнего подчеркивания в вашем методе '__str__'; то есть вы определили новый метод '__str_', а не переопределяете' __str__'. – chepner