python 类属性装饰器@age.setter 怎么调用不了

SunmonDong 2016-03-29 02:29:54
##程序代码如下:
class Person:
def __init__(self,name='',age=0):
self._name=name
self._age=age

@property
def age(self):
print('this is getter')
return self._age

@age.setter
def age(self,age):
print('this is setter')
self._age=age
def __str__(self):
return "Person({0},{1})".format(self._age, self._name)
def __repr__(self):
return str(self)


p=Person('gd',12)
print(p.age)
p.age=7
print(p.age)
print(p)

#程序输出:
this is getter
12
7
Person(12,gd)
...全文
489 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_35516038 2016-08-12
  • 打赏
  • 举报
回复
你用的python2吧?!你的类是旧类,请改成新类,即让类继承object class Person(object): ......

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧