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 相关文章推荐
简介Django中内置的一些中间件
Jul 24 Python
python 迭代器和iter()函数详解及实例
Mar 21 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
浅析python 中大括号中括号小括号的区分
Jul 29 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
python实现输入的数据在地图上生成热力图效果
Dec 06 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
Python局部变量与全局变量区别原理解析
Jul 14 Python
Python常用模块函数代码汇总解析
Aug 31 Python
python安装及变量名介绍详解
Dec 12 Python
python SOCKET编程基础入门
Feb 27 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内置过滤器FILTER使用实例
2014/06/25 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
JS常用知识点整理
2017/01/21 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
PyMongo安装使用笔记
2015/04/27 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
广州盈通面试题
2015/12/05 面试题
美术国培研修感言
2014/02/12 职场文书
结婚周年感言
2014/02/24 职场文书
外贸专业求职信
2014/03/09 职场文书
质量负责人岗位职责
2015/02/15 职场文书
区域销售大会开幕词
2016/03/04 职场文书
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
python中的random模块和相关函数详解
2022/04/22 Python