久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > Python面向?qū)ο蟮幕靖拍?

        Python面向?qū)ο蟮幕靖拍?/h1>
        來源:千鋒教育
        發(fā)布人:xqq
        時(shí)間: 2023-11-07 16:15:58 1699344958

        python使用類(class)和對(duì)象(object),進(jìn)行面向?qū)ο?object-orientedprogramming,簡(jiǎn)稱OOP)的編程。

        面向?qū)ο蟮淖钪饕康氖翘岣叱绦虻闹貜?fù)使用性。我們這么早切入面向?qū)ο缶幊痰脑蚴牵?strong>Python的整個(gè)概念是基于對(duì)象的。了解OOP是進(jìn)一步學(xué)習(xí)Python的關(guān)鍵。

        下面是對(duì)面向?qū)ο蟮囊环N理解,基于分類。

        相近對(duì)象,歸為類

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

        面向?qū)ο缶褪悄M了以上人類認(rèn)知過程。在Python語言,為了聽起來酷,我們把上面說的“東西”稱為對(duì)象(object)。

        先定義鳥類

        classBird(object):

        have_feather=True

        way_of_reproduction='egg'

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

        假設(shè)我養(yǎng)了一只小雞,叫summer。它是個(gè)對(duì)象,且屬于鳥類。使用前面定義的類:

        summer=Bird()

        printsummer.way_of_reproduction

        通過第一句創(chuàng)建對(duì)象,并說明summer是類別鳥中的一個(gè)對(duì)象,summer就有了鳥的類屬性,對(duì)屬性的引用是通過對(duì)象.屬性(object.attribute)的形式實(shí)現(xiàn)的。

        可憐的summer,你就是個(gè)有毛產(chǎn)的蛋貨,好不精致。

        動(dòng)作

        日常認(rèn)知中,我們?cè)谕ㄟ^屬性識(shí)別類別的時(shí)候,有時(shí)根據(jù)這個(gè)東西能做什么事情來區(qū)分類別。比如說,鳥會(huì)移動(dòng)。這樣,鳥就和房屋的類別區(qū)分開了。這些動(dòng)作會(huì)帶來一定的結(jié)果,比如移動(dòng)導(dǎo)致位置的變化。

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

        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)

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

        (它的參數(shù)中有一個(gè)self,它是為了方便我們引用對(duì)象自身。方法的第一個(gè)參數(shù)必須是self,無論是否用到。有關(guān)self的內(nèi)容會(huì)在下一講展開)

        另外兩個(gè)參數(shù),dx,dy表示在x、y兩個(gè)方向移動(dòng)的距離。move方法會(huì)最終返回運(yùn)算過的position。

        在最后調(diào)用move方法的時(shí)候,我們只傳遞了dx和dy兩個(gè)參數(shù),不需要傳遞self參數(shù)(因?yàn)閟elf只是為了內(nèi)部使用)。

        我的summer可以跑了。

        子類

        類別本身還可以進(jìn)一步細(xì)分成子類

        比如說,鳥類可以進(jìn)一步分成雞,大雁,黃鸝。

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

        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)類的,增加了兩個(gè)屬性:移動(dòng)方式(way_of_move),可能在KFC找到(possible_in_KFC)

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

        新定義的黃鸝(Oriole)類,同樣繼承自鳥類。在創(chuàng)建一個(gè)黃鸝對(duì)象時(shí),該對(duì)象自動(dòng)擁有鳥類的屬性。

        通過繼承制度,我們可以減少程序中的重復(fù)信息和重復(fù)語句。如果我們分別定義兩個(gè)類,而不繼承自鳥類,就必須把鳥類的屬性分別輸入到雞類和黃鸝類的定義中。整個(gè)過程會(huì)變得繁瑣,因此,面向?qū)ο筇岣吡顺绦虻目芍貜?fù)使用性。

        (回到問題1,括號(hào)中的object,當(dāng)括號(hào)中為object時(shí),說明這個(gè)類沒有父類(到頭了))

        將各種各樣的東西分類,從而了解世界,從人類祖先開始,我們就在練習(xí)了這個(gè)認(rèn)知過程,面向?qū)ο笫欠先祟愃季S習(xí)慣的。所謂面向過程,也就是執(zhí)行完一個(gè)語句再執(zhí)行下一個(gè),更多的是機(jī)器思維。通過面向?qū)ο蟮木幊蹋覀兛梢愿奖愕谋磉_(dá)思維中的復(fù)雜想法。

        以上內(nèi)容為大家介紹了Python面向?qū)ο蟮幕靖拍?,希望?duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        Python使用裝飾器在執(zhí)行單元測(cè)試時(shí)配置環(huán)境

        裝飾器的定義是給一個(gè)對(duì)象動(dòng)態(tài)加載功能,就像打游戲時(shí)給隊(duì)友上buff一樣。一直以來,我對(duì)裝飾器用的不多,經(jīng)常會(huì)用別的方式搞定,雖然代碼丑一點(diǎn)...詳情>>

        2023-11-07 18:43:35
        Python在最短的序列參數(shù)終止時(shí)停止迭代

        chain(p,q,...)迭代至序列p的最后一個(gè)元素后,從q的第一個(gè)元素開始,直到所有序列終止。chain('ABC','DEF')-->ABCDEFcompress...詳情>>

        2023-11-07 18:21:59
        python豐富的內(nèi)置類型及相關(guān)操作

        python的內(nèi)置類型如下:lString:字符串放在單引號(hào)、雙引號(hào)、三引號(hào)(多行時(shí))中,從0開始索引,支持n查:find、index、n切片:s[0:2]、s[1:]n連...詳情>>

        2023-11-07 18:07:35
        Python裝飾器?的寫法以及應(yīng)用場(chǎng)景

        含義:裝飾器本質(zhì)就是函數(shù),為其他函數(shù)添加附加功能原則:不修改被修飾函數(shù)的代碼不修改被修飾函數(shù)的調(diào)用方式應(yīng)用場(chǎng)景:無參裝飾器在用戶登錄認(rèn)...詳情>>

        2023-11-07 17:38:46
        Python粘包

        什么是粘包?socket中造成粘包的原因是什什么?哪些情況會(huì)發(fā)生粘包現(xiàn)象?只有TCP有粘包現(xiàn)象,UDP永遠(yuǎn)不會(huì)粘包粘包:在獲取數(shù)據(jù)時(shí),出現(xiàn)數(shù)據(jù)的內(nèi)容不...詳情>>

        2023-11-07 17:35:10
        随州市| 麟游县| 阿拉善右旗| 南京市| 柘城县| 安龙县| 新津县| 怀化市| 鄂尔多斯市| 治县。| 新巴尔虎左旗| 石林| 林甸县| 沈丘县| 布拖县| 佛冈县| 湘乡市| 社旗县| 卓尼县| 洛阳市| 沙坪坝区| 巴彦淖尔市| 蒙山县| 右玉县| 柘城县| 武威市| 邯郸县| 蒙自县| 宜宾市| 镇平县| 望城县| 武平县| 沁水县| 安庆市| 文水县| 沙雅县| 左云县| 特克斯县| 安徽省| 长宁区| 进贤县|