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 元类使用说明
Dec 18 Python
Python3基础之函数用法
Aug 13 Python
Python中input和raw_input的一点区别
Oct 21 Python
python复制文件的方法实例详解
May 22 Python
python2.7的编码问题与解决方法
Oct 04 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
NumPy 基本切片和索引的具体使用方法
Apr 24 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
Python 使用matplotlib模块模拟掷骰子
Aug 08 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
python之基数排序的实现
Jul 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
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
判断js的Array和Object的实现方法
2016/08/29 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
js实现简易ATM功能
2020/10/27 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python-接口开发入门解析
2019/08/01 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
如何在pycharm中安装第三方包
2020/10/27 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
毕业生精彩的自我评价分享
2013/10/06 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
警校毕业生自我评价
2014/04/06 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
模范班主任事迹材料
2014/12/17 职场文书
幼儿园辞职书
2015/02/26 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
Mybatis是这样防止sql注入的
2021/12/06 Java/Android