Python基于property实现类的特性操作示例


Posted in Python onJune 15, 2018

本文实例讲述了Python基于property实现类的特性操作。分享给大家供大家参考,具体如下:

Python中的特性是一个函数,但是在使用的形式上看起来更像是一个属性。针对一个对象来说,与属性相比,特性是不能够随意添加的。而对象的属性,默认情况下添加是十分简单的。

下面通过代码展示如何使用property实现特性:

# -*- coding:utf-8 -*-
#!python3
class MyClass:
  def __init__(self,val1,val2):
    self.val1 = val1
    self.val2 = val2
  @property
  def Sum(self):
    return self.val1 + self.val2
obj =MyClass(34,45)
print(obj.Sum)

程序的执行结果如下:

79

从上面的结果来看,特性在调用的时候跟属性是差不多的。如果通过类似方法的调用则会报错,下面修改代码如下:

# -*- coding:utf-8 -*-
#!python3
class MyClass:
  def __init__(self,val1,val2):
    self.val1 = val1
    self.val2 = val2
  @property
  def Sum(self):
    return self.val1 + self.val2
obj =MyClass(34,45)
print(obj.Sum)
# wrong way tocall the Sum property
print(obj.Sum())

程序执行结果如下:

79
Traceback (most recent call last):
  File "C:\py3\3waterPyDemo\src\Demo\propertyDemo.py", line 13, in <module>
    print(obj.Sum())
TypeError: 'int' object is not callable

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中字典和JSON互转操作实例
Jan 19 Python
Python迭代器和生成器介绍
Mar 06 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python实现删除排序数组中重复项的两种方法示例
Jan 31 Python
详解python中TCP协议中的粘包问题
Mar 22 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
Python Excel处理库openpyxl使用详解
May 09 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
python2 对excel表格操作完整示例
Feb 23 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 Python
使用python 3实现发送邮件功能
Jun 15 #Python
快速解决pandas.read_csv()乱码的问题
Jun 15 #Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 #Python
Python使用Pickle库实现读写序列操作示例
Jun 15 #Python
基于Pandas读取csv文件Error的总结
Jun 15 #Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 #Python
python微信公众号之关键词自动回复
Jun 15 #Python
You might like
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
php中curl使用指南
2015/02/05 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
Python实现的tab文件操作类分享
2014/11/20 Python
深入浅析python 中的匿名函数
2018/05/21 Python
便捷提取python导入包的属性方法
2018/10/15 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
django基础学习之send_mail功能
2019/08/07 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
PHP笔试题
2012/02/22 面试题
钳工实习自我鉴定
2013/09/19 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书