码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器@property与@xxx.setter

时间:2018-06-27 18:05:20      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:color   name   print   property   col   执行   int   elf   读取   

class Student():
  def __init__(self,name,score):
  self.__name = name
  self.__score = score
  @property
  def name(self):
    return self.__name
  @name.setter
  def name(self,name):
    self.__name = name

s1 = Student(‘zhang‘,25)
print(s1.name)               #s1.name就相当于执行了s1.get_name()
s1.name = ‘wang‘         #s1.name = ‘wang‘就相当于执行了s1.set_name(‘wang‘)
print(s1.name)

 

这两个装饰器的意义在于,简化操作,能够像操作普通属性一样操作一些方法,方法内容正常些,方法名就定义为属性名,在方法前加装饰器@property就把这个方法变成了读取值方法(get),在方法前加装饰器"@属性名.setter"就将其定义为了赋值方法(set)

 

装饰器@property与@xxx.setter

标签:color   name   print   property   col   执行   int   elf   读取   

原文地址:https://www.cnblogs.com/zhangzhaoyu/p/9235252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!