這兩種方法本質(zhì)上可以作為單獨(dú)的方法(即函數(shù)周霉,function)對待。
@classmethod
@staticmethod
一旦這兩個(gè)修飾符润匙,放在類的某個(gè)方法前面的時(shí)候诗眨,那么我們在使用這個(gè)類的時(shí)候,不需要去實(shí)例化這個(gè)類(比如a=A())孕讳,直接調(diào)用類的該方法即可匠楚。
最明顯的一點(diǎn),使用類方法和靜態(tài)方法的時(shí)候厂财,不會觸發(fā)該類的構(gòu)造方法 __init__ 來初始化這個(gè)類芋簿。
兩者的區(qū)別是:
* 靜態(tài)方法中,傳入?yún)?shù)璃饱,完成任務(wù)与斤,結(jié)束。
* 類方法,參數(shù)中要傳入整個(gè)類撩穿,第一個(gè)參數(shù)永遠(yuǎn)是cls磷支。好處是除了自身的任務(wù),類方法還可以調(diào)用這個(gè)類中的所有靜態(tài)方法食寡。