麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python面向對象的基本概念

Python面向對象的基本概念

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 16:15:58 1699344958

python使用類(class)和對象(object),進行面向對象(object-orientedprogramming,簡稱OOP)的編程。

面向對象的最主要目的是提高程序的重復使用性。我們這么早切入面向對象編程的原因是,Python的整個概念是基于對象的。了解OOP是進一步學習Python的關鍵。

下面是對面向對象的一種理解,基于分類。

相近對象,歸為類

在人類認知中,會根據屬性相近把東西歸類,并且給類別命名。比如說,鳥類的共同屬性是有羽毛,通過產卵生育后代。任何一只特別的鳥都在鳥類的原型基礎上的。

面向對象就是模擬了以上人類認知過程。在Python語言,為了聽起來酷,我們把上面說的“東西”稱為對象(object)。

先定義鳥類

classBird(object):

have_feather=True

way_of_reproduction='egg'

我們定義了一個類別(class),就是鳥(Bird)。在隸屬于這個類比的語句塊中,我們定義了兩個變量,一個是有羽毛(have_feather),一個是生殖方式(way_of_reproduction),這兩個變量對應我們剛才說的屬性(attribute)。我們暫時先不說明括號以及其中的內容,記為問題1。

假設我養了一只小雞,叫summer。它是個對象,且屬于鳥類。使用前面定義的類:

summer=Bird()

printsummer.way_of_reproduction

通過第一句創建對象,并說明summer是類別鳥中的一個對象,summer就有了鳥的類屬性,對屬性的引用是通過對象.屬性(object.attribute)的形式實現的。

可憐的summer,你就是個有毛產的蛋貨,好不精致。

動作

日常認知中,我們在通過屬性識別類別的時候,有時根據這個東西能做什么事情來區分類別。比如說,鳥會移動。這樣,鳥就和房屋的類別區分開了。這些動作會帶來一定的結果,比如移動導致位置的變化。

這樣的一些“行為”屬性為方法(method)。Python中通過在類的內部定義函數,來說明方法。

classBird(object):have_feather=Trueway_of_reproduction='egg'defmove(self,dx,dy):

position=[0,0]position[0]=position[0]+dx

position[1]=position[1]+dyreturnpositionsummer=Bird()

print'aftermove:',summer.move(5,8)

我們重新定義了鳥這個類別。鳥新增一個方法屬性,就是表示移動的方法move。(我承認這個方法很傻,你可以在看過下一講之后定義個有趣些的方法)

(它的參數中有一個self,它是為了方便我們引用對象自身。方法的第一個參數必須是self,無論是否用到。有關self的內容會在下一講展開)

另外兩個參數,dx,dy表示在x、y兩個方向移動的距離。move方法會最終返回運算過的position。

在最后調用move方法的時候,我們只傳遞了dx和dy兩個參數,不需要傳遞self參數(因為self只是為了內部使用)。

我的summer可以跑了。

子類

類別本身還可以進一步細分成子類

比如說,鳥類可以進一步分成雞,大雁,黃鸝。

在OOP中,我們通過繼承(inheritance)來表達上述概念。

classChicken(Bird):

way_of_move='walk'

possible_in_KFC=True

classOriole(Bird):

way_of_move='fly'

possible_in_KFC=False

summer=Chicken()

printsummer.have_feather

printsummer.move(5,8)

新定義的雞(Chicken)類的,增加了兩個屬性:移動方式(way_of_move),可能在KFC找到(possible_in_KFC)

在類定義時,括號里為了Bird。這說明,Chicken是屬于鳥類(Bird)的一個子類,即Chicken繼承自Bird。自然而然,Bird就是Chicken的父類。Chicken將享有Bird的所有屬性。盡管我只聲明了summer是雞類,它通過繼承享有了父類的屬性(無論是變量屬性have_feather還是方法屬性move)

新定義的黃鸝(Oriole)類,同樣繼承自鳥類。在創建一個黃鸝對象時,該對象自動擁有鳥類的屬性。

通過繼承制度,我們可以減少程序中的重復信息和重復語句。如果我們分別定義兩個類,而不繼承自鳥類,就必須把鳥類的屬性分別輸入到雞類和黃鸝類的定義中。整個過程會變得繁瑣,因此,面向對象提高了程序的可重復使用性。

(回到問題1,括號中的object,當括號中為object時,說明這個類沒有父類(到頭了))

將各種各樣的東西分類,從而了解世界,從人類祖先開始,我們就在練習了這個認知過程,面向對象是符合人類思維習慣的。所謂面向過程,也就是執行完一個語句再執行下一個,更多的是機器思維。通過面向對象的編程,我們可以更方便的表達思維中的復雜想法。

以上內容為大家介紹了Python面向對象的基本概念,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 久久精品国产欧美日韩| 色涩综合| 欧美性大战久久久久久| 国产制服丝袜在线| 2021国产麻豆剧果冻传媒入口 | 久久国产99| 亚洲va久久久噜噜噜久久狠狠| 精品剧情v国产在免费线观看| 按摩xxxx全套| 夜夜躁狠去2021| 激情交叉点2| 阿娇囗交全套高清视频| 岳一夜要我六次| 天堂中文字幕在线| 麻豆91在线视频| 菠萝蜜视频入口| 任我爽在线| 182tv精品视频在线播放| 美国十次啦大导航| 欧美zozozo人禽交免费大片| 春日野吉衣| 久久综合资源| 麻豆磁力链接| 国产刺激视频| 午夜免费理论片a级| 樱桃视频高清免费观看在线播放| 96免费精品视频在线观看| 黑人巨茎大战俄罗斯美女| 特黄a级毛片| 日本护士69xxxx免费| 亚洲va久久久噜噜噜久久狠狠| 日本理论片午午伦夜理片2021| 69国产成人精品午夜福中文| 两根硕大一起挤进小h| 日韩免费一区二区三区| 国产aⅴ一区二区三区| 一本大道香蕉中文在线高清| 性盈盈影院免费视频观看在线一区| 污污动漫在线观看| 视频一区在线| 欧洲美女与动zozo|