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入门篇之函数
Oct 20 Python
浅谈python爬虫使用Selenium模拟浏览器行为
Feb 23 Python
python批量查询、汉字去重处理CSV文件
May 31 Python
使用Python来开发微信功能
Jun 13 Python
Python DataFrame.groupby()聚合函数,分组级运算
Sep 18 Python
python 运用Django 开发后台接口的实例
Dec 11 Python
Django对数据库进行添加与更新的例子
Jul 12 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
python 多维高斯分布数据生成方式
Dec 09 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
TensorFlow中如何确定张量的形状实例
Jun 23 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学习笔记之二 php入门知识
2011/01/12 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
python 数据加密代码
2008/12/24 Python
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
python正则-re的用法详解
2019/07/28 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
怎么处理XML的中文问题
2015/03/26 面试题
中专毕业生自荐信范文
2013/11/28 职场文书
房产销售经理职责
2013/12/20 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
基于Python实现一个春节倒计时脚本
2022/01/22 Python