创建实例时出现错误
#! python3
class Profile(object):
"""contiene la informacion del perfil"""
def __init__(self):
self.name = None
@property
def name(self):
"""name"""
return self.name
if __name__ == '__main__':
profile1 = Profile()
抛出我的错误:
Traceback (most recent call last):
File "F:\Project\profile.py", line 14, in <module>
profile1 = Profile()
File "F:\Project\profile.py", line 6, in __init__
self.name = None
AttributeError: can't set attribute
我已经转了一段时间,但我看不出有任何意义
问题是因为您的属性
self.name
与 property 发生冲突name
,并且这样做它想使用 property 的 setter。常见的做法是将属性名称设置为:_
,例如在您的情况下,它会更改self.name
为self._name
。或者实现setter: