首页 > 解决方案 > 如何解决一个名为“'int' object has no attribute 'getter'”的问题?

问题描述

我已经开始学习python lang。不久前。这是我的问题。

这个问题是由错误的代码还是错误的内置类引起的?

我试图为类中的参数创建一个属性。并且遇到了这个问题:'int' object has no attribute 'getter' =/

顺便说一句,是的,在这段代码中,所有类型的制作参数都在学习,所以这可能是一个问题,但我仍然不明白它在哪里。

这里有一个代码:

from numpy.core.tests.test_mem_overlap import size


class Dog:
    def __init__(self, name="noname", new_size=None):
        if new_size is None:
            new_size = {'height': 0, 'width': 0}
        self.name = name
        self.size = new_size

    # getter. Type 1:
    @property
    def getter_name_property_function(self):
        return self.name

    # props. Type 2:
    @size.getter
    def size(self):
        return self.size

    @size.setter
    def size(self, new_size):
        self.size = new_size

    @size.deleter
    def size(self):
        del self.size

    # props. Type 3:
    def getter_name_property_method(self):
        return self.name

    def setter_name(self, name):
        self.name = name

    def deleter_name(self):
        del self.name

    name = property(getter_name_property_method, setter_name, deleter_name, "properties for name")


if __name__ == '__main__':
    dog = Dog("Sally", {'height': 35, 'width': 80})
    print(dog.size)

标签: python-3.xpropertiesattributes

解决方案


问题在于您声明的 getter 属性。更改代码:

# props. Type 2:
@size.getter
def size(self):
    return self.size  

到以下:

# props. Type 2:
@property
def size(self):
    return self.size

推荐阅读