python装饰器代替set get方法实例


Posted in Python onDecember 19, 2019

对于变量的访问和设置,我们可以使用get、set方法,如下:

class student:
  def __init__(self,name):
    self.__name = name

  def get_name(self):
    return self.__name

  def set_name(self,name):
    self.__name = name

我们也可以使用python 的装饰器,用@语法糖,使得我们要使用set get功能时只需要通过.xx的形式即可

class student1:
  def __init__(self,name):
    self.__name = name

  @property
  def name(self):
    return self.__name 

  @name.setter#x.setter这里要和方法名相同
  def name(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装饰器代替set get方法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python Django模板的使用方法(图文)
Nov 04 Python
在Python中处理字符串之isdecimal()方法的使用
May 20 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
Python绘制的二项分布概率图示例
Aug 22 Python
python抓取搜狗微信公众号文章
Apr 01 Python
如何更优雅地写python代码
Jul 02 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
Python函数参数类型及排序原理总结
Dec 19 Python
Python定时器线程池原理详解
Feb 26 Python
Python字符串的转义字符
Apr 07 Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 #Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 #Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 #Python
Python监控服务器实用工具psutil使用解析
Dec 19 #Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 #Python
python 普通克里金(Kriging)法的实现
Dec 19 #Python
Python函数参数类型及排序原理总结
Dec 19 #Python
You might like
举例详解PHP脚本的测试方法
2015/08/05 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
Python创建系统目录的方法
2015/03/11 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
深入浅析python 中的匿名函数
2018/05/21 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
Pycharm github配置实现过程图解
2020/10/13 Python
python中count函数知识点浅析
2020/12/17 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
护士辞职信模板
2014/01/20 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
综合实践活动总结
2014/05/05 职场文书
无传销社区工作方案
2014/05/13 职场文书
廉洁校园实施方案
2014/05/25 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
python单元测试之pytest的使用
2021/06/07 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android