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通过get,post方式发送http请求和接收http响应的方法
May 26 Python
python函数形参用法实例分析
Aug 04 Python
Python日志模块logging基本用法分析
Aug 23 Python
详解python多线程之间的同步(一)
Apr 03 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
Python Django 命名空间模式的实现
Aug 09 Python
Django框架安装方法图文详解
Nov 04 Python
python、Matlab求定积分的实现
Nov 20 Python
Python和Sublime整合过程图示
Dec 25 Python
python对XML文件的操作实现代码
Mar 27 Python
python与pycharm有何区别
Jul 01 Python
python 三种方法提取pdf中的图片
Feb 07 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部分常见问题总结
2008/03/27 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
Python自动发邮件脚本
2017/03/31 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
python:动态路由的Flask程序代码
2019/11/22 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
公务员职业生涯规划书范文  
2014/01/19 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
校园广播站开场白
2015/06/01 职场文书
中职班主任培训心得体会
2016/01/07 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书