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
0
Python cost : 0
Type is not found!
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,呵。 输出结果:
0
Python cost : 0
Type is not found!
查看更多关于Python__getattr__与__setattr__使用方法的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did87191
阅读:77次
上一篇: Python连连看连接算法