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开发的小球完全弹性碰撞游戏代码
Oct 15 Python
使用python装饰器验证配置文件示例
Feb 24 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
Django开发的简易留言板案例详解
Dec 04 Python
Flask核心机制之上下文源码剖析
Dec 25 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
python 负数取模运算实例
Jun 03 Python
使用Python实现NBA球员数据查询小程序功能
Nov 09 Python
Python中Pyspider爬虫框架的基本使用详解
Jan 27 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
php5 pdo新改动加载注意事项
2008/09/11 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
php图片裁剪函数
2018/10/31 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
jQuery中after的两种用法实例
2013/07/03 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
详解Python yaml模块
2020/09/23 Python
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
妇科医生自荐信
2013/11/05 职场文书
员工培训心得体会
2013/12/30 职场文书
商场促销活动方案
2014/02/08 职场文书
年会搞笑主持词
2014/03/27 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
小区推广策划方案
2014/06/06 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
诚信高考倡议书
2019/06/24 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
七年级话题作文之执着
2019/11/19 职场文书
服务器间如何实现文件共享
2022/05/20 Servers