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删除指定目录下过期文件的2个脚本分享
Apr 10 Python
Python 序列的方法总结
Oct 18 Python
利用python微信库itchat实现微信自动回复功能
May 18 Python
python win32 简单操作方法
May 25 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
Python理解递归的方法总结
Jan 28 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
Python 分享10个PyCharm技巧
Jul 13 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
python的移位操作实现详解
Aug 21 Python
python 已知平行四边形三个点,求第四个点的案例
Apr 12 Python
Django视图、传参和forms验证操作
Jul 15 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
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
继续学习javascript闭包
2015/12/03 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
简述Python2与Python3的不同点
2018/01/21 Python
python安装twisted的问题解析
2018/08/21 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
HTML5的新特性(1)
2016/03/03 HTML / CSS
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
大学生预备党员自我评价分享
2013/11/16 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
股东协议书范本2016
2016/03/21 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
Python内置数据类型中的集合详解
2022/03/18 Python