我刚开始在python中学习OOPS,当我尝试运行以下代码时,我得到属性错误"区域实例没有属性' GetLength'"
还请告诉我如何在主程序中从用户那里获取输入,但计算在类Area中进行,例如从用户输入长度和宽度,而不是在程序本身中设置。
我希望自己足够清楚。
class Area:
def __init__ (self , w , l):
self.width = w
self.length = l
def rectangle_area (self):
return self.width * self.length
def GetLength (self , len):
self.length = len
def GetWidth (self , w):
self.width = w
def PrintLength (self):
return self.length
RecArea = Area(5 , 5)
RecArea.GetLength(10)
print (RecArea.rectangle_area())
input()
答案 0 :(得分:0)
您混合了标签和空格。实际上GetLength
嵌套在另一个方法中,因此Area
个对象实际上没有GetLength
方法。
不要混合标签和空格。打开"显示空白"在编辑器中使这些问题更加明显,如果您的编辑不支持,可以获得更好的编辑器。使用-tt
标志运行Python可以帮助捕获一堆这些错误。
除了彻头彻尾的错误,这些GetLength
和GetWidth
方法毫无意义。他们不是吸毒者;他们是重新设定者。此外,它们违反了标准的Python大小写惯例,并且您并不真正需要这些属性的getter或setter。