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编程实现语音控制电脑
Apr 01 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
python 识别图片中的文字信息方法
May 10 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
python中数据库like模糊查询方式
Mar 02 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
将Python代码打包成.exe可执行文件的完整步骤
May 12 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
python中偏函数partial用法实例分析
2015/07/08 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
详解Python3 pickle模块用法
2019/09/16 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
新领导上任欢迎词
2014/01/13 职场文书
网吧消防安全制度
2014/01/28 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
农业项目投资意向书
2015/05/09 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
大学生创业计划书
2019/06/24 职场文书