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使用post提交数据到远程url的方法
Apr 29 Python
python实现下载整个ftp目录的方法
Jan 17 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
详解解决Python memory error的问题(四种解决方案)
Aug 08 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
Python基于gevent实现高并发代码实例
May 15 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
Jun 12 Python
Python用dilb提取照片上人脸的示例
Oct 26 Python
Python实现数据的序列化操作详解
Jul 07 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
Angular ElementRef简介及其使用
2018/10/01 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
python 队列详解及实例代码
2016/10/18 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Django中的ajax请求
2018/10/19 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
打架检讨书300字
2014/02/02 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
葬礼司仪主持词
2014/03/31 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
学生干部培训方案
2014/06/12 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
公务员年度考核评语
2014/12/31 职场文书
拉贝日记观后感
2015/06/05 职场文书
SQL Server中使用表变量和临时表
2022/05/20 SQL Server