Python  __getattr__与__setattr__使用方法

 更新时间:2008年09月06日 14:28:30   作者:  
__getattr__和__setattr__可以用来对属性的设置和取值进行处理
比如下面的例子:
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!

相关文章

  • matplotlib之pyplot模块坐标轴范围设置(autoscale(),xlim(),ylim())

    matplotlib之pyplot模块坐标轴范围设置(autoscale(),xlim(),ylim())

    这篇文章主要介绍了matplotlib之pyplot模块坐标轴范围设置(autoscale(),xlim(),ylim()),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 教你利用Python破解ZIP或RAR文件密码

    教你利用Python破解ZIP或RAR文件密码

    常常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用.想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道.本文详细介绍了怎么破解压缩包,需要的朋友可以参考下
    2021-05-05
  • Python调用百度OCR实现图片文字识别的示例代码

    Python调用百度OCR实现图片文字识别的示例代码

    这篇文章主要介绍了Python调用百度OCR实现图片文字识别的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python全角与半角之间相互转换的方法总结

    Python全角与半角之间相互转换的方法总结

    全角与半角转换在处理汉语语料中会经常出现,这里分别说明汉字、数字、字母的unicode编码范围,下面这篇文章主要给大家介绍了关于Python全角与半角之间相互转换的相关资料,需要的朋友可以参考下
    2022-03-03
  • python json.loads兼容单引号数据的方法

    python json.loads兼容单引号数据的方法

    今天小编就为大家分享一篇python json.loads兼容单引号数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python Flask上下文管理机制实例解析

    Python Flask上下文管理机制实例解析

    这篇文章主要介绍了Python Flask上下文管理机制实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python flask框架端口失效解决方案

    Python flask框架端口失效解决方案

    这篇文章主要介绍了Python flask框架端口失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python利用FlashText算法实现替换字符串

    Python利用FlashText算法实现替换字符串

    FlashText算法是由 Vikash Singh 于2017年发表的大规模关键词替换算法,比正则表达式替换快M倍以上,这个M是需要替换的关键词数量,关键词越多,FlashText算法的优势就越明显。本文将详细这一算法,需要的可以参考一下
    2022-03-03
  • Python 判断是否为质数或素数的实例

    Python 判断是否为质数或素数的实例

    下面小编就为大家带来一篇Python 判断是否为质数或素数的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • python中可以发生异常自动重试库retrying

    python中可以发生异常自动重试库retrying

    这篇文章主要介绍了python中可以发生异常自动重试库retrying,retrying是一个极简的使用Python编写的库,主题更多相关内容需要的朋友可以参考一下
    2022-06-06

最新评论