Python Property属性的2种用法


Posted in Python onJune 21, 2015

假设定义了一个类:C,该类必须继承自object类,有一私有变量_x

class C:

 def __init__(self):
self.__x=None

1.现在介绍第一种使用属性的方法:

在该类中定义三个函数,分别用作赋值、取值和删除变量(此处表达也许不很清晰,请看示例)

 def getx(self):

return self.__x

 def setx(self,value):

self.__x=value

 def delx(self):

del self.__x

 x=property(getx,setx,delx,'')

property函数原型为property(fget=None,fset=None,fdel=None,doc=None),所以根据自己需要定义相应的函数即可。

现在这个类中的x属性便已经定义好了,我们可以先定义一个C的实例c=C(),然后赋值c.x=100,取值y=c.x,删除:del c.x。是不是很简单呢?请看第二种方法

2.下面看第二种方法(在2.6中新增)

首先定义一个类C:

class C:

 def __init__(self):
self.__x=None

下面就开始定义属性了

 @property

 def x(self):

return self.__x

 @x.setter

 def x(self,value):

self.__x=value

 @x.deleter

 def x(self):

del self.__x

 同一属性的三个函数名要相同哦。。
Python 相关文章推荐
总结Python编程中三条常用的技巧
May 11 Python
Python while、for、生成器、列表推导等语句的执行效率测试
Jun 03 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
python遍历一个目录,输出所有的文件名的实例
Apr 23 Python
python爬取指定微信公众号文章
Dec 20 Python
python实现知乎高颜值图片爬取
Aug 12 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
Python如何将模块打包并发布
Aug 30 Python
python通配符之glob模块的使用详解
Apr 24 Python
Python学习之包与模块详解
Mar 19 Python
Python中实现三目运算的方法
Jun 21 #Python
Python中有趣在__call__函数
Jun 21 #Python
Python的装饰器模式与面向切面编程详解
Jun 21 #Python
Python安装第三方库的3种方法
Jun 21 #Python
Python实现线程池代码分享
Jun 21 #Python
Python os模块学习笔记
Jun 21 #Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 #Python
You might like
WHOIS类的修改版
2006/10/09 PHP
PHP的5个安全措施小结
2012/07/17 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php文件下载处理方法分析
2015/04/22 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
python基础while循环及if判断的实例讲解
2017/08/25 Python
python计算两个地址之间的距离方法
2018/06/09 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
德尔福集团DELPHI的笔试题
2012/02/22 面试题
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
中华魂演讲稿
2014/05/13 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
2016年五一促销广告语
2016/01/28 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL