python装饰器代替set get方法实例
对于变量的访问和设置,我们可以使用get、set方法,如下:
classstudent: def__init__(self,name): self.__name=name defget_name(self): returnself.__name defset_name(self,name): self.__name=name
我们也可以使用python的装饰器,用@语法糖,使得我们要使用setget功能时只需要通过.xx的形式即可
classstudent1:
def__init__(self,name):
self.__name=name
@property
defname(self):
returnself.__name
@name.setter#x.setter这里要和方法名相同
defname(self,name):
self.__name=name
std1=student1("wdng")
print(std1.name)
std1.name="wand"
print(std1.name)
>>
wdng
wand
要注意,上述代码中的self.__name,不可以写成self.name不是访问域限制的问题,而是用@property后,name方法被变成了class中的一个属性,属性名即方法命,属性命名不可以重复。
可以用hasattr(obj,property_name)来查看类是否包含某属性
以上这篇python装饰器代替setget方法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短