python高階之魔術方法詳解

2022-09-27 04:12:08 字數 658 閱讀 6349

目錄

1、@classmethod–類名.屬性名

2、@staticmethod–類名.屬性名

3、@property–設定唯讀屬性,方法變屬性,別人不易篡改,呼叫:類名(). 屬性名

1、乙個類物件,在__init__初始化之前,還有__new__方法,這裡要重寫__new__方法,要呼叫父類的new方法程式設計客棧,且將new方法建立的物件返回,即object.new(cls),其中cls代表的是類物件本身(myclass)。否則無返回值執行報錯。

2、單例模式

這個__new__www.cppcns.com方法的應用之一,就是單例模式。

實現思路,藍色線乙個迴路。黃色線乙個迴路。

具體指令碼如下。t2例項物件,沒程式設計客棧有name屬性,但是也神奇的輸出與t1一致的結果。如此類推,其他也一樣,如果把這個. py檔案匯入其他檔案b. py中,在b. py中建立其他例項物件t3,呼叫這個name屬性時就會輸出與t1一樣的結果。其次,t1、t2、t3的記憶體位址即id(t1)三個都是一樣的。最後,還可以設定其他屬性,且之間屬性共用。

這個就是單例模式,即例項化一次。(如果多次例項化,設定屬性,明顯會浪費資源,所以單例模式誕生了。)

本文標題: python高階之魔術方法詳解

本文位址: /jiaoben/python/453047.html

python高階 四 魔術方法

魔術方法 在python中,以雙下劃線開頭 雙下劃線結尾的方法我們稱之為魔術方法。例如 init 魔術方法是python內部定義好的,我們不需要去建立。1.new 方法和單例模式 new 方法 create and return a new object.建立物件時觸發class hero obje...

Python型別轉換的魔術方法詳解

本文討論python中將某個複雜物件轉換為簡單物件或資料型別的常用魔術放啊,這些在程式設計中是十分有用的。1 str 方法。在講解本方法前我們先開啟乙個jupyter notebook,隨意建立乙個類如下,使用str 方法輸出該類的例項看看返回了什麼 class barchart object de...

python 魔術方法

魔術方法 呼叫方式 解釋 new cls instance myclass arg1,arg2 new 在建立例項的時候被呼叫 init self instance myclass arg1,arg2 init 在建立例項的時候被呼叫 cmp self,other self other,self o...