国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

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

            千鋒教育

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

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

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

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

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

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

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

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

            相近對象,歸為類

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

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

            先定義鳥類

            classBird(object):

            have_feather=True

            way_of_reproduction='egg'

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

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

            summer=Bird()

            printsummer.way_of_reproduction

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

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

            動作

            日常認(rèn)知中,我們在通過屬性識別類別的時候,有時根據(jù)這個東西能做什么事情來區(qū)分類別。比如說,鳥會移動。這樣,鳥就和房屋的類別區(qū)分開了。這些動作會帶來一定的結(jié)果,比如移動導(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)

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

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

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

            在最后調(diào)用move方法的時候,我們只傳遞了dx和dy兩個參數(shù),不需要傳遞self參數(shù)(因為self只是為了內(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)類的,增加了兩個屬性:移動方式(way_of_move),可能在KFC找到(possible_in_KFC)

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

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

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

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

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

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

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(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