溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中面向?qū)ο蠡A(chǔ)知識點

發(fā)布時間:2020-12-10 13:39:13 來源:億速云 閱讀:159 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)python中面向?qū)ο蠡A(chǔ)知識點的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

class

(Class)是用來描述具有相同屬性(Attribute)和方法(Method)對象的集合。

對象object

對象(Object)是類(Class)的具體實例。

舉例:比如學(xué)生都有名字和分?jǐn)?shù),他們有著共同的屬性。這時我們就可以設(shè)計一個學(xué)生類, 用于記錄學(xué)生的名字和分?jǐn)?shù),并自定義方法打印出他們的名字和方法。

屬性(Attribute): 類里面用于描述所有對象共同特征的變量或數(shù)據(jù)。比如學(xué)生的名字和分?jǐn)?shù)。

方法(Method): 類里面的函數(shù),用來區(qū)別類外面的函數(shù), 用來實現(xiàn)某些功能。比如打印出學(xué)生的名字和分?jǐn)?shù)。

self,cls關(guān)鍵字

self是指向每個獨立對象的指針.在實例方法中第一個形參被命名為 self,以區(qū)別其它函數(shù)。

cls是指向類的指針,在類方法中第一個形參要命名為cls.

類內(nèi)部的不同類型方法

  • 實例方法:

是指該類的每個實例都可以調(diào)用到的方法。只有實例能調(diào)用實例方法。定義時第一個形參為self

  • 類方法:

類方法是將類本身作為對象進行操作的方法。類對象和實例都可以調(diào)用類方法。定義時以@classmethod進行裝飾,其第一個參數(shù)是類,約定寫為cls。

實例方法和類方法都是依賴于python的修飾器來實現(xiàn)。 對象方法以self參數(shù),類方法以cls參數(shù)來傳遞。

  • 靜態(tài)方法:

可以認(rèn)為靜態(tài)方法是一種存在在類中普通函數(shù),不會對任何實例類型進行操作,類對象和實例都可以調(diào)用靜態(tài)方法,定義時以@staticmethod進行聲明。

類變量和實例變量

類變量定義在類的內(nèi)部,像普通變量一樣定義即可。用 類名.變量名 直接去訪問。實例也能訪問類變量

實例變量則是以self.開頭,僅供各個實例對象

封裝

封裝就是將抽象的數(shù)據(jù)(變量)和行為(函數(shù))打包,形成一個邏輯上的整體(即類);

封裝可以增強安全性(數(shù)據(jù))并簡化編程(函數(shù)),用戶只能通過類對外接口的訪問權(quán)限來使用類的成員。

繼承

一個類可以以 class newclsname():來開始全新構(gòu)造(實際上會默認(rèn)繼承自object);也可以從某個已經(jīng)存在的類繼承。繼承的類叫做subclass。

多態(tài)

因為類具有繼承關(guān)系,子類可以向上轉(zhuǎn)型被看做是父類的類型,比如無論是戰(zhàn)士還是快遞員,都是人類。

也因為有了繼承關(guān)系,子類可以繼承父類的所有方法和屬性,當(dāng)然也可以重載父類的成員函數(shù)及屬性。

super()

在子類中如果想調(diào)用父類中的方法,就需要使用super()方法。

感謝各位的閱讀!關(guān)于python中面向?qū)ο蠡A(chǔ)知識點就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI