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生成指定尺寸缩略图的示例
May 07 Python
python实现给字典添加条目的方法
Sep 25 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
Django框架教程之正则表达式URL误区详解
Jan 28 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 Python
python重试装饰器的简单实现方法
Jan 31 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
Apr 20 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 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中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
python爬虫之自制英汉字典
2019/06/24 Python
Python日志syslog使用原理详解
2020/02/18 Python
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
擅自离岗检讨书
2014/02/11 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
搞笑结婚保证书
2015/05/08 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
手把手教你导入Go语言第三方库
2021/08/04 Golang
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫