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中利用生成器实现的并发编程
May 04 Python
Python 自动化表单提交实例代码
Jun 08 Python
详解Python中for循环是如何工作的
Jun 30 Python
Python+Django搭建自己的blog网站
Mar 13 Python
python3解析库pyquery的深入讲解
Jun 26 Python
Python输出\u编码将其转换成中文的实例
Dec 15 Python
python取余运算符知识点详解
Jun 27 Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 Python
Python基于gevent实现高并发代码实例
May 15 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
详解KMP算法以及python如何实现
Sep 18 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 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环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
php中文本操作的类
2007/03/17 PHP
php函数与传递参数实例分析
2014/11/15 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
Python模拟登陆实现代码
2017/06/14 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
opencv实现图像几何变换
2021/03/24 Python
广告学专业应届生求职信
2013/10/01 职场文书
大四本科生的自我评价
2013/12/30 职场文书
机电一体化职业规划书
2014/01/07 职场文书
小学清明节活动方案
2014/03/08 职场文书
三字经教学反思
2014/04/26 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js