【问题标题】:How can be solved a problem called " 'int' object has no attribute 'getter' "?如何解决一个名为“'int' object has no attribute 'getter'”的问题?
【发布时间】:2021-04-22 00:36:57
【问题描述】:

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

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

我试图为类中的参数创建一个属性。并且遇到了这个问题:'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.x properties attributes


    【解决方案1】:

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

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

    致以下:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-06
      • 2022-12-04
      • 2022-11-11
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      相关资源
      最近更新 更多