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中的代码编码格式转换问题
Jun 10 Python
Python实现的读写json文件功能示例
Jun 05 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
pytorch使用Variable实现线性回归
May 21 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
python区分不同数据类型的方法
Oct 14 Python
python多进程并发demo实例解析
Dec 13 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 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抓取页面与代码解析 推荐
2010/07/23 PHP
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php socket通信简单实现
2016/11/18 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
浅谈PYTHON 关于文件的操作
2019/03/19 Python
超简单使用Python换脸实例
2019/03/27 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
Python FFT合成波形的实例
2019/12/04 Python
Python读取表格类型文件代码实例
2020/02/17 Python
Python修改列表值问题解决方案
2020/03/06 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
人事专员岗位职责范本
2014/03/04 职场文书
企业办公室岗位职责
2014/03/12 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
酒店前台岗位职责
2015/04/16 职场文书
高考1977观后感
2015/06/04 职场文书
月考总结与反思
2015/10/22 职场文书