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实现在目录中查找指定文件的方法
Nov 11 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
Python编码爬坑指南(必看)
Jun 10 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 Python
Python实现压缩与解压gzip大文件的方法
Sep 18 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
对python中两种列表元素去重函数性能的比较方法
Jun 29 Python
python psutil模块使用方法解析
Aug 01 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
Python中实现输入一个整数的案例
May 03 Python
Django修改app名称和数据表迁移方案实现
Sep 17 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
帅气的琦玉老师
2020/03/02 日漫
动易数据转成dedecms的php程序
2007/04/07 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
提取字符串中年月日的函数代码
2013/11/05 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
python中sets模块的用法实例
2014/09/30 Python
Python聊天室实例程序分享
2016/01/05 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
Python sublime安装及配置过程详解
2020/06/29 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
中学生运动会入场词
2014/02/12 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
图解上海144收音机
2021/04/22 无线电
mysql 获取时间方式
2022/03/20 MySQL
python神经网络Xception模型
2022/05/06 Python