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安装教程 Pycharm安装详细教程
May 02 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
python 产生token及token验证的方法
Dec 26 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
解决Python pip 自动更新升级失败的问题
Feb 21 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 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生成静态页面详解
2006/12/05 PHP
php下过滤HTML代码的函数
2007/12/10 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
python使用配置文件过程详解
2019/12/28 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
办公室文员自荐书
2014/02/03 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
团日活动总结报告
2014/06/25 职场文书
财务务虚会发言材料
2014/10/20 职场文书
华清池导游词
2015/02/02 职场文书
挂职个人工作总结
2015/03/05 职场文书
2015年女职工工作总结
2015/05/15 职场文书
投诉书格式范本
2015/07/02 职场文书
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL
python实现学生信息管理系统(面向对象)
2022/06/05 Python