1:self表示為類型為類的object,而cls表示為類也就是class
2:在定義普通方法的時(shí)候,需要的是參數(shù)self,也就是把類的實(shí)例作為參數(shù)傳遞給方法,如果不寫self的時(shí)候,會(huì)發(fā)現(xiàn)報(bào)錯(cuò)TypeError錯(cuò)誤,表示傳遞的參數(shù)多了,其實(shí)也就是調(diào)用方法的時(shí)候,將實(shí)例作為參數(shù)傳遞了,在使用普通方法的時(shí)候,使用的是實(shí)例來調(diào)用方法,不能使用類來調(diào)用方法,沒有實(shí)例,那么方法將無法調(diào)用。
3:在定義靜態(tài)方法的時(shí)候,和模塊中的方法沒有什么不同,最大的不同就是在于靜態(tài)方法在類的命名空間之間,而且在聲明靜態(tài)方法的時(shí)候,使用的標(biāo)記為@staticmethod,表示為靜態(tài)方法,在叼你用靜態(tài)方法的時(shí)候,可以使用類名或者是實(shí)例名來進(jìn)行調(diào)用,一般使用類名來調(diào)用
4:靜態(tài)方法主要是用來放一些方法的,方法的邏輯屬于類,但是有何類本身沒有什么交互,從而形成了靜態(tài)方法,主要是讓靜態(tài)方法放在此類的名稱空間之內(nèi),從而能夠更加有組織性。
5:在定義類方法的時(shí)候,傳遞的參數(shù)為cls.表示為類,此寫法也可以變,但是一般寫為cls。類的方法調(diào)用可以使用類,也可以使用實(shí)例,一般情況使用的是類。
6:在重載調(diào)用父類方法的時(shí)候,最好是使用super來進(jìn)行調(diào)用父類的方法。靜態(tài)方法主要用來存放邏輯性的代碼,基本在靜態(tài)方法中,不會(huì)涉及到類的方法和類的參數(shù)。類方法是在傳遞參數(shù)的時(shí)候,傳遞的是類的參數(shù),參數(shù)是必須在cls中進(jìn)行隱身穿
7:python中實(shí)現(xiàn)靜態(tài)方法和類方法都是依賴python的修飾器來實(shí)現(xiàn)的。靜態(tài)方法是staticmethod,類方法是classmethod。
以上內(nèi)容為大家介紹了Python類方法與靜態(tài)方法說明,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。