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微信跳一跳游戏辅助代码解析
Jan 29 Python
tensorflow学习笔记之简单的神经网络训练和测试
Apr 15 Python
Python实现的redis分布式锁功能示例
May 29 Python
python读取文本绘制动态速度曲线
Jun 21 Python
用python生成1000个txt文件的方法
Oct 25 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
浅谈Python 列表字典赋值的陷阱
Jan 20 Python
使用python接入微信聊天机器人
Mar 31 Python
详解Python中的分支和循环结构
Feb 11 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
python 在sql语句中使用%s,%d,%f说明
Jun 06 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 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 日期加减的类,很不错
2009/10/10 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
jquery禁用右键示例
2014/04/28 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python实现QQ批量登录功能
2019/06/19 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
实习医生自我评价
2013/09/22 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
擅自离岗检讨书
2014/02/11 职场文书
库房管理员岗位职责
2015/02/12 职场文书