Python天天美味(26) - __getattr__与__setattr__

简介:

_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)

=  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 天天美味(24) - 初始化多维数组  

Python 天天美味(25) - 深入理解yield  

Python 天天美味(26) - __getattr__与__setattr__  

Python 天天美味(27) - 网络编程起步(Socket发送消息)  

Python 天天美味(28) - urlopen    

...

 


本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2008/05/25/1206931.html,如需转载请自行联系原作者

目录
相关文章
|
Python
Python内置函数--getattr&setattr&delattr&hasattr
Python内置函数--getattr&setattr&delattr&hasattr
162 0
|
Python
Python--getattr、__getattr__、__getattribute__,倔强一下
Python--getattr、__getattr__、__getattribute__,倔强一下
105 0
|
Python
Python编程中类的属性获取、设置、判断是否存在等,实战hasattr和getattr函数的应用案例!
Python编程中类的属性获取、设置、判断是否存在等,实战hasattr和getattr函数的应用案例!
242 0
|
测试技术 Python
Python - 面向对象编程 - 反射 hasattr、getattr、setattr、delattr (下)
Python - 面向对象编程 - 反射 hasattr、getattr、setattr、delattr (下)
200 0
Python - 面向对象编程 - 反射 hasattr、getattr、setattr、delattr (下)
|
Python
Python编程:getattribute和getattr访问对象属性顺序
Python编程:getattribute和getattr访问对象属性顺序
222 0
|
Python
Python - 面向对象编程 - 反射 hasattr、getattr、setattr、delattr (上)
Python - 面向对象编程 - 反射 hasattr、getattr、setattr、delattr (上)
177 0
|
前端开发
Python----魔法函数__getattr__/__setattr__/__delattr__/__getattribute__的用法
Python----魔法函数__getattr__/__setattr__/__delattr__/__getattribute__的用法
245 0
|
Python
Python自省函数getattr的用法
首先把官方文档搬出来: doc.png 英文棒的小伙伴们最好是去看下官方文档,毕竟原汁原味的英文表述才最准确。Python3.6 getattr 官方文档 getattr()函数是Python自省的核心函数,可以把一个要访问的变量或方法,通过字符串的形式传递过去并拿到返回的值。
1892 0
|
3月前
|
Python
Python编程基石:整型、浮点、字符串与布尔值完全解读
本文介绍了Python中的四种基本数据类型:整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。整型表示无大小限制的整数,支持各类运算;浮点型遵循IEEE 754标准,需注意精度问题;字符串是不可变序列,支持多种操作与方法;布尔型仅有True和False两个值,可与其他类型转换。掌握这些类型及其转换规则是Python编程的基础。
211 33
|
2月前
|
数据采集 分布式计算 大数据
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
87 1

热门文章

最新文章

推荐镜像

更多