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 Django使用forms来实现评论功能
Aug 17 Python
解读! Python在人工智能中的作用
Nov 14 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 Python
python中subprocess批量执行linux命令
Apr 27 Python
python贪吃蛇游戏代码
Apr 18 Python
详解【python】str与json类型转换
Apr 29 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Python图像处理PIL各模块详细介绍(推荐)
Jul 17 Python
python openpyxl使用方法详解
Jul 18 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
python+requests接口自动化框架的实现
Aug 31 Python
python单向链表实例详解
May 25 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
php中error与exception的区别及应用
2014/07/28 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
php实现的顺序线性表示例
2019/05/04 PHP
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
深入理解python中的闭包和装饰器
2016/06/12 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
路政管理专业推荐信
2013/11/11 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
教研活动总结
2014/04/28 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
酒店开业主持词
2015/07/02 职场文书
军训通讯稿范文
2015/07/18 职场文书
python如何读取.mtx文件
2021/04/22 Python
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js