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('劉慈欣')
類對象 不能調用實例方法,但能調用類方法和靜態方法。