python中自帶的三個裝飾器的實現(xiàn)
說到裝飾器,就不得不說python自帶的三個裝飾器:
1、@property 將某函數(shù),做為屬性使用
@property 修飾,就是將方法,變成一個屬性來使用。
class A(): @property def pfunc(self): return self.value @pfunc.setter def pfunc(self,value): self.value = value @property def pfunc1(self): print('this is property') if __name__=="__main__": A.pfunc = 9 print A.pfunc A.pfunc1
2、@classmethod 修飾類的方式
帶修飾類方法:cls做為方法的第一個參數(shù),隱式的將類做為對象,傳遞給方法,調(diào)用時無須實例化。
普通函數(shù)方法:self做為第一個參數(shù),隱式的將類實例傳遞給方法,調(diào)用方法時,類必須實例化。
class A(): def func(self,x,y): return x * y @classmethod def cfunc(cls,x,y): return x * y if __name__=="__main__": print A().func(5,5) print A.cfunc(4,5)
3、@staticmethod 修飾類的方式
1)是把函數(shù)嵌入到類中的一種方式,函數(shù)就屬于類,同時表明函數(shù)不需要訪問這個類
2)使用修飾服,修飾方法,不需要實例化
class A(): def func(self,x,y): return x * y @staticmethod def sfunc(x,y): return x * y if __name__=="__main__": print A.sfunc(6,5)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表詳解
單鏈表只有一個指向直接后繼的指針來表示結(jié)點間的邏輯關系,可以方便的從任一結(jié)點開始查找其后繼結(jié)點,但要找前驅(qū)結(jié)點則比較困難,雙向鏈表是為了解決這一問題,使用兩個指針表示結(jié)點間的邏輯關系。本文將重點為大家介紹雙向鏈表的相關操作,需要的可以參考一下2022-01-01python數(shù)據(jù)分析基礎之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別介紹
我們經(jīng)常在尋找數(shù)據(jù)的某行或者某列的時常用到Pandas中的兩種方法iloc和loc,兩種方法都接收兩個參數(shù),第一個參數(shù)是行的范圍,第二個參數(shù)是列的范圍,這篇文章主要介紹了python數(shù)據(jù)分析基礎之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別,需要的朋友可以參考下2024-07-07如何利用Python統(tǒng)計正數(shù)和負數(shù)的個數(shù)
Python檢查數(shù)據(jù)中的正/負數(shù)是一種常見的數(shù)據(jù)處理操作,可以通過編寫代碼來實現(xiàn),下面這篇文章主要給大家介紹了關于如何利用Python統(tǒng)計正數(shù)和負數(shù)的個數(shù)的相關資料,需要的朋友可以參考下2024-05-05CentOS 7下安裝Python 3.5并與Python2.7兼容并存詳解
這篇文章主要給大家介紹了在CentOS 7下安裝Python 3.5并與Python2.7兼容并存的相關資料,文中將安裝步驟介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。2017-07-07python操作excel的方法(xlsxwriter包的使用)
這篇文章主要為大家詳細介紹了python操作excel的方法,xlsxwriter包的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06