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中操作文件之truncate()方法的使用教程
May 25 Python
Windows下搭建python开发环境详细步骤
Jul 20 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
Python 12306抢火车票脚本
Feb 07 Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
python Django的web开发实例(入门)
Jul 31 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 Python
Python调用.net动态库实现过程解析
Jun 05 Python
Python自动化操作实现图例绘制
Jul 09 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获取url的函数代码
2011/08/02 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
Python字符串替换实例分析
2015/05/11 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
python命令行参数用法实例分析
2019/06/25 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
Java基础类库面试题
2013/09/04 面试题
村主任群众路线个人对照检查材料
2014/09/26 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
同意报考公务员证明
2015/06/17 职场文书