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求算数平方根和约数的方法汇总
Mar 09 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 Python
基于python实现学生管理系统
Oct 17 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python实现的合并两个有序数组算法示例
Mar 04 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
python 基于opencv操作摄像头
Dec 24 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 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初学者们头痛的十四个问题
2007/01/15 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
python的构建工具setup.py的方法使用示例
2017/10/23 Python
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
企业申诉管理制度
2014/01/30 职场文书
班组长竞聘书
2014/03/31 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
迎新生标语大全
2014/10/06 职场文书
党员个人整改措施
2014/10/24 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
2014年纪委工作总结
2014/12/05 职场文书
初中学生操行评语
2014/12/26 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
Win10 Anaconda安装python-pcl
2022/04/29 Servers