您好,登錄后才能下訂單哦!
本篇內容主要講解“python面向對象編程常用名詞有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python面向對象編程常用名詞有哪些”吧!
面向對象編程的核心是對象,即某一可有屬性、動作的復雜事物。面向對象編程優先考慮對象和需要達到的結果,不重點關注流程。
面向對象編程的優點是程序的可維護高和擴展性強,采用面向對象編程可以大幅提高團隊開發效率,在需求變化快的場景面向對象編程應對需求變化更容易和方便。
面向對象編程的缺點是可控性差,無法精準預測問題的處理流程和結果。
類:具有某些類似特征的一類事物(如動物、植物等),類是模板,是抽象概念。
對象(實例):具體的某一事物(如那只流浪貓、這只寵物狗),對象是具體的事物,是抽象概念的具現。
實例化:根據類創建具體對象的過程。
class 類名(父類):'''說明文檔'''類體
其中(父類)可缺省,缺省父類是object,可以把object理解為類的祖先。
class語句下一行三引號開頭和三引號結束中的內容為類的說明文檔。
說明文檔下一行即為類的正式內容,即類體。
類體中主要內容有2種,一是屬性、二是函數。
例如:
class Animal:kind = 'all animals'def eat(self):print('The animal is eating!')print(Animal.kind)Animal.eat(Animal)out:all animals The animal is eating!
以上案例中kind是屬性,eat是函數。
注意eat比較特殊,如果用類名.eat調用時它是函數,用對象.eat調用時它是方法。
類名加括號就是實例化,會自動觸發__init__函數的運行,它會根據參數為每個實例定制自己的特征。
white_cat = Animal()print(white_cat.kind)white_cat.eat()out:all animals The animal is eating!
注意:實例化時會找該類的__init__函數,若該類無此函數,那么會找它父類的__init__函數,父類若沒有會繼續向上找祖父類__init__函數,直至找到object類中的空__init__函數。
學python時經常會有人搞不清楚函數和方法的區別。在此通過案例來搞清楚它們的區別。
from types import FunctionType, MethodTypeclass Animal:kind = 'all animals'def eat(self):print('The animal is eating!')white_cat = Animal()print(isinstance(Animal.eat, FunctionType)) # 判斷Animal.eat是不是函數print(isinstance(white_cat.eat, FunctionType)) # 判斷white_cat.eat是不是函數print(isinstance(Animal.eat, MethodType)) # 判斷Animal.eat是不是方法print(isinstance(white_cat.eat, MethodType)) # 判斷white_cat.eat是不是方法out:TrueFalseFalseTrue
通過以上案例得出結論:
類.變量名()調用時,該變量名是函數。
變量名()調用時,該變量名是函數。
實例.變量名()調用時,該變量名是方法。
到此,相信大家對“python面向對象編程常用名詞有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。