Python中没有类的属性

时间:2017-02-08 17:43:45

标签: python attributes

我刚开始在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()

1 个答案:

答案 0 :(得分:0)

您混合了标签和空格。实际上GetLength嵌套在另一个方法中,因此Area个对象实际上没有GetLength方法。

不要混合标签和空格。打开"显示空白"在编辑器中使这些问题更加明显,如果您的编辑不支持,可以获得更好的编辑器。使用-tt标志运行Python可以帮助捕获一堆这些错误。

除了彻头彻尾的错误,这些GetLengthGetWidth方法毫无意义。他们不是吸毒者;他们是重新设定者。此外,它们违反了标准的Python大小写惯例,并且您并不真正需要这些属性的getter或setter。