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登录Dr.com思路以及代码分享
Jun 25 Python
Python爬虫之模拟知乎登录的方法教程
May 25 Python
Python实现的自定义多线程多进程类示例
Mar 23 Python
python操作redis方法总结
Jun 06 Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
Pytorch提取模型特征向量保存至csv的例子
Jan 03 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
python爬虫容易学吗
Jun 02 Python
Python SQLAlchemy库的使用方法
Oct 13 Python
如何在C++中调用Python
May 21 Python
如何理解python接口自动化之logging日志模块
Jun 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控制文件下载速度的方法
2015/03/24 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python配置mysql的教程(推荐)
2017/10/13 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python看某个模块的版本方法
2018/10/16 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
网络研修随笔感言
2014/02/17 职场文书
意向协议书范本
2014/04/23 职场文书
六一儿童节活动总结
2014/08/27 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
Java并发编程必备之Future机制
2021/06/30 Java/Android
python 中yaml文件用法大全
2021/07/04 Python
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis