Python中有三種比較常見的方法型別,如類方法和靜態方法,例項方法,他們是物件導向程式設計中重要的概念。
1.類方法
類方法是透過使用裝飾器@classmethod來定義的,他的第一個引數是cls,指向類本身,允許我們在方法中操作類的屬性或呼叫其他類方法。
類方法的使用:類方法可以透過類名和例項物件來呼叫,當類方法被呼叫時,Python會自動傳遞類本身作為第一個引數(不能傳遞例項的屬性和方法)。類方法能訪問類屬性,但是不能訪問例項屬性。
2.例項方法
例項方法是最常用的方法型別,不需要特定的裝飾器,他的第一個引數是self,指向例項本身,允許我們在例項中呼叫例項屬性或方法。
3.靜態方法
靜態方法是透過使用裝飾器@staticmethod來定義的,引數任意。
靜態方法的使用:靜態方法可以透過類名和例項物件來呼叫,但是方法體中不能使用類或例項的任何屬性和方法。
4.總結
類方法和靜態方法都是隻屬於類的方法,都能使用類名和例項名呼叫,他們的區別在於,類方法可以操作類的屬性和其他類方法,而靜態方法不能操作類的屬性和其他類方法,只適用於在類中的組織功能性程式碼。不同於類方法和靜態方法,例項方法只能使用例項物件呼叫,可以操作例項屬性和例項方法、類方法、靜態方法,但是不能操作類屬性。
透過合理的使用這些方法,可以增強程式碼的可讀性和可維護性。