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 连连看连接算法
Nov 22 Python
在Python下利用OpenCV来旋转图像的教程
Apr 16 Python
Python中处理字符串的相关的len()方法的使用简介
May 19 Python
python斐波那契数列的计算方法
Sep 27 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
python字符串循环左移
Mar 08 Python
Django的models中on_delete参数详解
Jul 16 Python
pytorch之inception_v3的实现案例
Jan 06 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 Python
浅析NumPy 切片和索引
Sep 02 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 Python
搭建pypi私有仓库实现过程详解
Nov 25 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数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
VUE v-for循环中每个item节点动态绑定不同函数的实例
2018/09/26 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python查找目录下指定扩展名的文件实例
2015/04/01 Python
python购物车程序简单代码
2018/04/18 Python
Python对象属性自动更新操作示例
2018/06/15 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python多进程fork()函数详解
2019/02/22 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Python如何实现FTP功能
2020/05/28 Python
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
C#基础面试题
2016/10/17 面试题
九月份红领巾广播稿
2014/01/22 职场文书
法制报告会主持词
2014/04/02 职场文书
遗产继承公证书
2014/04/09 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
2015年护士节慰问信
2015/03/23 职场文书
保研导师推荐信
2015/03/25 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers
Elasticsearch 数据类型及管理
2022/04/19 Python