【发布时间】:2018-12-31 04:25:39
【问题描述】:
我在代码或功能区域中缺少什么?有什么建议吗?如果有人知道一个学习面向对象编程的好地方,请告诉我,谢谢。
class Square():
def __init__(self,height=0,width=0):
self._height = height
self._width = width
@property
def height(self):
return self._height
@property
def width(self):
return self._width
def area(self):
return height * width
@height.setter
def set_height(self,new_height):
self._height = new_height
@width.setter
def set_width(self,new_width):
self._width = new_width
【问题讨论】:
-
与您的主要问题无关:如果您没有在
property方法中进行任何验证或计算,您可能应该取消它们并直接访问height和width变量.另一方面,area可能是一个很好的候选property,如果您不想显式调用它。 -
@blckknght 我得到的答案是 <__main__.square object at>> 的您要么需要将其设为属性,要么调用它。你似乎两者都没有。如果答案是正确的(如给定的),您应该勾选正确的复选标记。
标签: python class oop object properties