若是隻看這個圖,不少人可能會看的一頭霧水,特別是學過徹底面向對象語言的同窗, Python 是雙面向的,既能夠面向函數編程,也能夠面向對象編程,所謂面向函數就是單獨一個. py 文件,裏面沒有類,全是一些函數,調用的時候導入模塊,經過模塊名.函數名()便可調用,徹底不須要類,那麼你可能會問,那要類還有什麼毛用? 類就是用來面向對象編程啦,類能夠有本身的屬性,類能夠建立不少實例,每一個實例能夠有不一樣的屬性,這也就保存了不少私有的數據,總之都有存在的必要.編程
再來看上面這張圖,在類裏面定義的函數就是方法,類方法須要@ classmethod 修飾而且有個隱藏參數 cls,實例方法必須有個參數 self, 靜態方法必須有 @staticmethod修飾,類和實例均可以訪問靜態方法,實例能夠訪問實例方法也能夠訪問類方法,類能夠訪問類方法也能夠訪問實例方法,訪問實例方法必需要帶參數 self, 能夠理解爲類其實也是一個實例,類訪問實例方法不帶參數會報錯的.類自己能夠訪問函數,實例卻不行.函數