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 文件重命名工具代码
Jul 26 Python
Python命令行参数解析模块optparse使用实例
Apr 13 Python
Python实现判断一个字符串是否包含子串的方法总结
Nov 21 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
pandas 将索引值相加的方法
Nov 15 Python
python事件驱动event实现详解
Nov 21 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
python 实现一个图形界面的汇率计算器
Nov 09 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
php+mysql实现无限级分类
2015/11/11 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
Python数据类型详解(一)字符串
2016/05/08 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
Python基础之变量基本用法与进阶详解
2020/01/03 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
司机的工作范围及职责
2013/11/13 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL