装饰器@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 装饰器