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 实现文件的递归拷贝实现代码
Aug 02 Python
Python map和reduce函数用法示例
Feb 26 Python
Python接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
Python Property属性的2种用法
Jun 21 Python
python开发之list操作实例分析
Feb 22 Python
Python设计模式之抽象工厂模式
Aug 25 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
Python实现点云投影到平面显示
Jan 18 Python
Python3监控疫情的完整代码
Feb 20 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
javascript AutoScroller 函数类
2009/05/29 Javascript
javascript 定义初始化数组函数
2009/09/07 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
js实现查询商品案例
2020/07/22 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
Eclipse + Python 的安装与配置流程
2013/03/05 Python
深入理解Python 代码优化详解
2014/10/27 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
毕业生简历自我评价范文
2014/04/09 职场文书
单位委托书
2014/10/15 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
领导参观欢迎词
2015/01/26 职场文书
收入证明怎么写
2015/06/12 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python