【发布时间】: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