這是我的代碼:類函數不返回正確的值
class Rectangle(object):
def __init__(self, height, width):
self.height = height
self.width = width
def __str__(self):
return '{} x {} = {}'.format(self.height, self.width, self.area)
def area(self):
self.area=self.height*self.width
return self.area
def primarySchool(height, width):
return str(Rectangle(height, width))
對於輸入height=7
和width=4
輸出
>>> primarySchool(7, 4):
7 x 4 = <bound method _runjcbjp.<locals>.Rectangle.area of
<__main__._runjcbjp.<locals>.Rectangle object at 0x2b482cd637f0>>
,而不是7 x 4 = 28
。
我該如何解決這個問題?
DEF __init __(個體,高度,寬度): self.height =高度 self.width =寬度 self.area = self.height * self.width –
這是更賽普爾溶液 –
取決於你的用例。如果你希望'area'是動態的(例如,當你改變'width'時它應該更新),你應該使它成爲一個屬性或方法:) – MSeifert