好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python__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!

查看更多关于Python__getattr__与__setattr__使用方法的详细内容...

  阅读:77次