理解實例方法、類方法、靜態方法

Python爬蟲與文本分析工作坊 & 課題申報高級研修班

python中的高級語法有類和裝飾器,今天我們學習一下實例方法、類方法和靜態方法的區別。其中類方法和靜態方法分別用了裝飾器中的classmethod和staicmethod關鍵詞。

在此之前我們先要理解實例和類的區別。比如人類是一種類,而劉慈欣是人類中的一員,劉慈欣就是一個類的實例。

理解實例方法、類方法、靜態方法
實例方法
實例是類的具體例子,那麼調用實例先要初始化,這裏也叫做實例化。


daliu =Human()daliu

<__main__.Human at 0x1078727f0>

劉慈欣是人類的一員,是一個實例對象,應該具有人類的一般能力,所以像daliu可以使用實例方法、類方法和靜態方法。總結, 實例對象可以調用實例方法、類方法、靜態方法。


daliu.instance_method('劉慈欣')

daliu.class_method('劉慈欣')

daliu.static_method('劉慈欣')

執行實例方法,


<__main__.Human object at 0x1078727f0>劉慈欣

執行類方法,<class'__main__.Human'>劉慈欣

執行靜態方法  劉慈欣

類方法和靜態方法
人類是類對象,劉慈欣是人類的一個實例對象,人類是不能有劉慈欣這麼特殊的方法。我們看下面這個例子


Human.instance_method('劉慈欣')

理解實例方法、類方法、靜態方法
類對象 不能調用實例方法,但能調用類方法和靜態方法。

理解實例方法、類方法、靜態方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章