Python __getattr__與__setattr__使用方法
更新時間:2008年09月06日 14:28:30 作者:
__getattr__和__setattr__可以用來對屬性的設置和取值進行處理
比如下面的例子:
0
Python cost : 0
Type is not found!
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
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,呵。輸出結(jié)果:
0
Python cost : 0
Type is not found!
相關文章
matplotlib之pyplot模塊坐標軸范圍設置(autoscale(),xlim(),ylim())
這篇文章主要介紹了matplotlib之pyplot模塊坐標軸范圍設置(autoscale(),xlim(),ylim()),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03Python調(diào)用百度OCR實現(xiàn)圖片文字識別的示例代碼
這篇文章主要介紹了Python調(diào)用百度OCR實現(xiàn)圖片文字識別的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07Python全角與半角之間相互轉(zhuǎn)換的方法總結(jié)
全角與半角轉(zhuǎn)換在處理漢語語料中會經(jīng)常出現(xiàn),這里分別說明漢字、數(shù)字、字母的unicode編碼范圍,下面這篇文章主要給大家介紹了關于Python全角與半角之間相互轉(zhuǎn)換的相關資料,需要的朋友可以參考下2022-03-03python json.loads兼容單引號數(shù)據(jù)的方法
今天小編就為大家分享一篇python json.loads兼容單引號數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python利用FlashText算法實現(xiàn)替換字符串
FlashText算法是由?Vikash?Singh?于2017年發(fā)表的大規(guī)模關鍵詞替換算法,比正則表達式替換快M倍以上,這個M是需要替換的關鍵詞數(shù)量,關鍵詞越多,F(xiàn)lashText算法的優(yōu)勢就越明顯。本文將詳細這一算法,需要的可以參考一下2022-03-03Python 判斷是否為質(zhì)數(shù)或素數(shù)的實例
下面小編就為大家?guī)硪黄狿ython 判斷是否為質(zhì)數(shù)或素數(shù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10python中可以發(fā)生異常自動重試庫retrying
這篇文章主要介紹了python中可以發(fā)生異常自動重試庫retrying,retrying是一個極簡的使用Python編寫的庫,主題更多相關內(nèi)容需要的朋友可以參考一下2022-06-06