Python  __getattr__与__setattr__使用方法


Posted in Python onSeptember 06, 2008

比如下面的例子:

class Book(object):
    def __setattr__(self, name, value):
        if name == 'value':
            object.__setattr__(self, name, value - 100)
        else:
            object.__setattr__(self, name, value)
    def __getattr__(self, name):
        try:
            return object.__getattribute__(name)
        except:
            return name + ' is not found!'
    def __str__(self):
        return self.name + ' cost : ' + str(self.value)

c = Book()
c.name = 'Python'
c.value = 100
print c.name
print c.value
print c
print c.Type

上面的例子中,在赋值书的value属性时,偷偷的将value减去了100,呵。输出结果:

Python
0
Python cost : 0
Type is not found!
Python 相关文章推荐
Python实现二分法算法实例
Feb 02 Python
Python实现快速多线程ping的方法
Jul 15 Python
python daemon守护进程实现
Aug 27 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
May 30 Python
python flask web服务实现更换默认端口和IP的方法
Jul 26 Python
django多种支付、并发订单处理实例代码
Dec 13 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
Django实现列表页商品数据返回教程
Apr 03 Python
Python中如何引入第三方模块
May 27 Python
Python基础详解之描述符
Apr 28 Python
Python 深入理解yield
Sep 06 #Python
Python 初始化多维数组代码
Sep 06 #Python
Python enumerate遍历数组示例应用
Sep 06 #Python
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 #Python
Python httplib,smtplib使用方法
Sep 06 #Python
Python 命令行参数sys.argv
Sep 06 #Python
Python 时间处理datetime实例
Sep 06 #Python
You might like
PHP函数学习之PHP函数点评
2012/07/05 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
JavaScript 调试器简介
2009/02/21 Javascript
js 与或运算符 || && 妙用
2009/12/09 Javascript
Javascript学习笔记1 数据类型
2010/01/11 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
Python GAE、Django导出Excel的方法
2008/11/24 Python
理解Python中的With语句
2015/02/02 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
python常用排序算法的实现代码
2019/11/08 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
创建索引时需要注意的事项
2013/05/13 面试题
业务员薪酬管理制度
2014/01/15 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书