python3種方式定義類方法
- 常規方法:通過self參數隱式的傳遞當前類對象的實例。需要實例化之後才能調用
- @classmethod修飾:通過cls參數傳遞當前類對象。直接類對象調用【類方法.方法名】/實例化後調用均可
- @staticmethod修飾:和普通函數一樣。直接類對象調用【類方法.方法名】/實例化後調用
self和cls不是強制的。只是PEP8的一種編程風格。self通常作爲實例方法的第一參數,cls通常作爲類方法的第一參數。即self傳遞當前類對象的實例,cls傳遞當前類對象
使用@staticmethod @classmethod方法,有利於組織代碼,把某些應該屬於某個類的函數給放到那個類裏去,同時有利於命名空間的整潔。
在Python中類和實例都是對象,都佔用了內存空間,合理的使用@staticmethod @classmethod方法,就可以不用實例化
就直接使用類的方法
參考:https://blog.csdn.net/weixin_41010198/article/details/84828022