標籤:

Python的實例方法類方法和靜態方法

Python中有三種方法:

  1. 類方法:用@classmethod,cls作為參數
  2. 實例方法:沒有用method語法,self作為參數
  3. 靜態方法:用@staticmethod,可以沒有參數
  4. 普通函數:沒有用method語法,可以沒有參數

用一個MethodsCmp演示這些方法是如何被調用的,代碼如下:

class MethodsCmp(object): def instance_func(self): print("This is an instance fuction!") @classmethod def class_func(cls): print("This is a class fuction!") @staticmethod def static_func(): print("This is a static fuction!") def func(): print("This is a function!")test = MethodsCmp()# 實例調用實例方法test.instance_func()# 實例調用類方法test.class_func()# 實例調用靜態方法test.static_func()# 實例調用普通函數,無法調用test.func()# 類調用實例方法,傳入實例或類方可調用MethodsCmp.instance_func(test)MethodsCmp.instance_func(MethodsCmp)# 類調用類方法MethodsCmp.class_func()# 類調用靜態方法MethodsCmp.static_func()# 類調用普通函數MethodsCmp.func()

推薦閱讀:

10min手寫(b六):b面試題解析丨Python實現多連接下載器
基於TCP的python聊天程序
Python的第三方庫安裝
Python 字母行轉序號應該怎麼做?
為什麼python缺少一個msbuild,從2008年到2014年一直不加上?

TAG:Python |