装饰器@property与@xxx.setter

Posted zhangzhaoyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器@property与@xxx.setter相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Python get 和 set 方法与 @property 装饰器

python基础整理笔记

python三个自带装饰器的功能与使用(@property@staticmethod@classmethod)

Python装饰器之 property()

Python装饰器之 property()

面向对象编程之property装饰器