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基础教程之自定义函数介绍
Aug 29 Python
python实现查找两个字符串中相同字符并输出的方法
Jul 11 Python
Python使用dis模块把Python反编译为字节码的用法详解
Jun 14 Python
python 获取文件下所有文件或目录os.walk()的实例
Apr 23 Python
python实现京东秒杀功能
Jul 30 Python
python八皇后问题的解决方法
Sep 27 Python
Python实现合并excel表格的方法分析
Apr 13 Python
python tkinter控件布局项目实例
Nov 04 Python
使用python求解二次规划的问题
Feb 29 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
Python数据可视化实现多种图例代码详解
Jul 14 Python
Python 中Operator模块的使用
Jan 30 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和XSL stylesheets转换XML文档
2006/10/09 PHP
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
PHP 加密解密内部算法
2010/04/22 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
JavaScript 继承使用分析
2011/05/12 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
2014/11/02 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
python远程登录代码
2008/04/29 Python
python获取本地计算机名字的方法
2015/04/29 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
Python字典深浅拷贝与循环方式方法详解
2020/02/09 Python
夜大自我鉴定
2013/10/31 职场文书
师范学院教师自荐书
2014/01/31 职场文书
实习协议书范本
2014/09/25 职场文书
淮海战役观后感
2015/06/11 职场文书
经典爱情感言
2015/08/03 职场文书