Python的實例方法,類方法,靜態方法之間的區別及調用關系


如果只看這個圖,很多人可能會看的一頭霧水,特別是學過完全面向對象語言的同學, Python 是雙面向的,既可以面向函數編程,也可以面向對象編程,所謂面向函數就是單獨一個. py 文件,里面沒有類,全是一些函數,調用的時候導入模塊,通過模塊名.函數名()即可調用,完全不需要類,那么你可能會問,那要類還有什么毛用? 類就是用來面向對象編程啦,類可以有自己的屬性,類可以創建很多實例,每個實例可以有不同的屬性,這也就保存了很多私有的數據,總之都有存在的必要.

再來看上面這張圖,在類里面定義的函數就是方法,類方法需要@ classmethod 修飾並且有個隱藏參數 cls,實例方法必須有個參數 self, 靜態方法必須有 @staticmethod修飾,類和實例都可以訪問靜態方法,實例可以訪問實例方法也可以訪問類方法,類可以訪問類方法也可以訪問實例方法,訪問實例方法必須要帶參數 self, 可以理解為類其實也是一個實例,類訪問實例方法不帶參數會報錯的.類本身可以訪問函數,實例卻不行.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM