python中的物件,方法,類,例項,函式用法分析
阿新 • • 發佈:2019-02-09
從面向物件的角度分析了物件,方法,類,例項,函式等的使用技巧。Python是一個完全面向物件的語言。不僅例項是物件,類,函式,方法也都是物件。
@classmethod : 類方法
@staticmethod : 靜態方法
類方法和靜態方法的呼叫一樣,都是通過類就可以直接呼叫。
區別:類方法,需要傳入該類,定義類方法的時候要傳一個預設的引數cls。靜態方法則不用。
參考網站:
Python中的物件,方法,類,例項,函式用法分析
http://www.jb51.net/article/59908.htmPython 是雙面向的,既可以面向函式程式設計,也可以面向物件程式設計
所謂面向函式就是單獨一個. py 檔案,裡面沒有類,全是一些函式,呼叫的時候匯入模組,通過模組名.函式名()即可呼叫,完全不需要類;
那麼你可能會問,那要類還有什麼毛用? 類就是用來面向物件程式設計啦,類可以有自己的屬性,類可以建立很多例項,每個例項可以有不同的屬性,這也就儲存了很多私有的資料,總之都有存在的必要.
再來看上面這張圖,在類裡面定義的函式就是方法,
類方法需要@ classmethod 修飾並且有個隱藏引數 cls,
例項方法必須有個引數 self,
靜態方法必須有 @staticmethod修飾,
類和例項都可以訪問靜態方法,
例項可以訪問例項方法也可以訪問類方法,
類可以訪問類方法也可以訪問例項方法,
訪問例項方法必須要帶引數 self,
可以理解為類其實也是一個例項,類訪問例項方法不帶引數會報錯的.類本身可以訪問函式,例項卻不行.