1. 程式人生 > >【面試必問】python實例方法、類方法@classmethod、靜態方法@staticmethod和屬性方法@property區別

【面試必問】python實例方法、類方法@classmethod、靜態方法@staticmethod和屬性方法@property區別

區別 實例 實例變量 對象 s參數 pro 當前 靜態方法 實例方法

【面試必問】python實例方法、類方法@classmethod、靜態方法@staticmethod和屬性方法@property區別

1、#類方法@classmethod,只能訪問類變量,不能訪問實例變量,通過cls參數傳遞當前類對象,不需要實例化,直接【類名.方法名()】,可通過類對象和類對象實例訪問

2、#靜態方法@staticmethod,名義歸類管,實際跟類沒關系,跟類關聯截斷了,是類下單獨的函數,可以不傳遞任何參數,不需要實例化,直接【類名.方法名(),可通過類對象和類對象實例訪問

3、#實例方法,一般類下未帶修飾符@是實例方法,需要實例化後調用

技術分享圖片

4、#屬性方法@property,將類方法變為屬性,並賦值

技術分享圖片

待續~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

【面試必問】python實例方法、類方法@classmethod、靜態方法@staticmethod和屬性方法@property區別