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实现的Kmeans++算法实例
Apr 26 Python
python实现自动登录人人网并访问最近来访者实例
Sep 26 Python
python实现将文本转换成语音的方法
May 28 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
python简易远程控制单线程版
Jun 20 Python
python flask框架实现重定向功能示例
Jul 02 Python
使用python模拟命令行终端的示例
Aug 13 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
Python while循环使用else语句代码实例
Feb 07 Python
Python手拉手教你爬取贝壳房源数据的实战教程
May 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
php模块memcache和memcached区别分析
2011/06/14 PHP
url decode problem 解决方法
2011/12/26 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
简单的js表单验证函数
2013/10/28 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python中super函数的用法
2017/11/17 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
python操作redis数据库的三种方法
2020/09/10 Python
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android