0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

網(wǎng)絡(luò)工程師學(xué)Python-繼承概念介紹

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2023-04-20 16:56 ? 次閱讀

Python 中,繼承是一種重要的面向?qū)ο?a target="_blank">編程概念。通過繼承,我們可以定義一個新的類,它繼承了現(xiàn)有類的屬性和方法。這種代碼重用可以使我們更高效地編寫程序,并提高代碼的可讀性和可維護性。

9ca762fa-df58-11ed-bfe3-dac502259ad0.png

基本語法

在 Python 中,繼承是通過將父類的名稱作為子類的參數(shù)來實現(xiàn)的。例如,下面的代碼定義了一個名為 Rectangle 的子類,它繼承了 Shape 類的屬性和方法。

classShape:
def\__init\__(self,x,y):
self.x=x
self.y=y

defarea(self):
pass

classRectangle(Shape):
def\__init\__(self,x,y,width,height):
super().\__init\__(x,y)
self.width=width
self.height=height

defarea(self):
returnself.width*self.height

在上面的代碼中,我們定義了一個名為 Shape 的父類,它包含了一個 x 和一個 y 屬性,以及一個名為 area() 的方法。然后,我們定義了一個名為 Rectangle 的子類,它繼承了 Shape 類,并添加了一個 width 和一個 height 屬性,以及一個重寫的 area() 方法。

請注意,我們在子類的 _init_() 方法中使用了 super()._init_(),它調(diào)用了父類的構(gòu)造函數(shù),并將 x 和 y 參數(shù)傳遞給它。這確保了子類在實例化時也會初始化父類的屬性。

方法重寫

在 Python 中,子類可以重寫父類的方法。這使得子類能夠自定義其行為,并覆蓋繼承自父類的默認(rèn)實現(xiàn)。

classSquare(Rectangle):
def\__init\__(self,x,y,size):
super().\__init\__(x,y,size,size)

在上面的代碼中,我們定義了一個名為 Square 的子類,它繼承了 Rectangle 類,并重寫了其 _init_() 方法,將 width 和 height 參數(shù)都設(shè)置為 size。這使得 Square 類可以像正方形一樣使用,而不是矩形。

多重繼承

Python 還支持多重繼承,這意味著一個類可以繼承多個父類的屬性和方法。這使得我們可以組合不同類的功能,并將其合并到一個新的類中。

classEmployee:
def\__init\__(self,name,salary):
self.name=name
self.salary=salary

defcalculate_pay(self):
pass

classSalesPerson(Employee):
defcalculate_pay(self):
returnself.salary+self.commission

classManager(Employee):
defcalculate_pay(self):
returnself.salary+self.bonus

classSalesManager(SalesPerson,Manager):
defcalculate_pay(self):
returnsuper().calculate_pay()+self

在上面的代碼中,我們定義了一個名為 Employee 的父類,它包含了一個名為 name 和一個名為 salary 的屬性,以及一個名為 calculate_pay() 的方法。然后,我們定義了兩個子類,SalesPerson 和 Manager,它們分別重寫了父類的 calculate_pay() 方法。

最后,我們定義了一個名為 SalesManager 的子類,它同時繼承了 SalesPerson 和 Manager 類。在這種情況下,當(dāng)我們調(diào)用 calculate_pay() 方法時,Python 將從左到右依次搜索父類,直到找到一個具有相應(yīng)方法的類。在這個例子中,Python 將先搜索 SalesPerson 類,然后是 Manager 類。

請注意,我們使用 super() 函數(shù)來調(diào)用父類的方法。這確保了所有父類的 calculate_pay() 方法都會被調(diào)用,而不是只調(diào)用其中一個。

總結(jié)

繼承是面向?qū)ο缶幊痰闹匾拍钪唬梢詭椭覀兙帉懜咝Ш涂删S護的代碼。在 Python 中,我們可以通過將父類的名稱作為子類的參數(shù)來實現(xiàn)繼承,并使用方法重寫和多重繼承來定制子類的行為。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4758

    瀏覽量

    84289
收藏 人收藏

    評論

    相關(guān)推薦

    華為網(wǎng)絡(luò)工程師培訓(xùn)教材

    華為網(wǎng)絡(luò)工程師培訓(xùn)教材
    發(fā)表于 08-16 17:27

    華為“網(wǎng)絡(luò)工程師”培訓(xùn)專用教程

    華為“網(wǎng)絡(luò)工程師”培訓(xùn)專用教程
    發(fā)表于 08-18 15:12

    網(wǎng)絡(luò)工程師RCNA培訓(xùn)教材(ppt)

    網(wǎng)絡(luò)工程師RCNA培訓(xùn)教材
    發(fā)表于 03-26 09:04 ?0次下載

    合格的網(wǎng)絡(luò)工程師必會實驗大全

    合格的網(wǎng)絡(luò)工程師必會實驗大全.pdf合格的網(wǎng)絡(luò)工程師必會實驗大全.pdf
    發(fā)表于 10-30 17:46 ?0次下載

    2004-2012網(wǎng)絡(luò)工程師試題

    2004-2012網(wǎng)絡(luò)工程師試題是工程師學(xué)習(xí)通關(guān)的必備書籍
    發(fā)表于 06-17 16:33 ?0次下載

    什么是網(wǎng)絡(luò)工程師

    什么是網(wǎng)絡(luò)工程師?網(wǎng)絡(luò)工程師就是通過學(xué)習(xí)和訓(xùn)練,掌握了網(wǎng)絡(luò)技術(shù)的理論知識和操作技能的網(wǎng)絡(luò)技術(shù)人員。網(wǎng)絡(luò)工程師能夠從事計算機信息系統(tǒng)的設(shè)計、建
    的頭像 發(fā)表于 02-19 14:28 ?7576次閱讀

    網(wǎng)絡(luò)工程師的發(fā)展前景如何

    很多朋友是從事網(wǎng)絡(luò)優(yōu)化工程師這樣的無線網(wǎng)絡(luò)工程師的崗位,也有一些朋友可能還沒有入行,這在憂慮從事網(wǎng)絡(luò)優(yōu)化工程師,
    的頭像 發(fā)表于 09-02 15:34 ?5096次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-for循環(huán)

    Python 中,for 循環(huán)是一種常用的結(jié)構(gòu),用于遍歷序列(如列表、元組、字符串)中的元素。
    的頭像 發(fā)表于 04-19 15:47 ?891次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-函數(shù)定義

    Python 中,函數(shù)是一段可重復(fù)使用的代碼塊,可以接受一些輸入(即函數(shù)參數(shù)),并根據(jù)輸入執(zhí)行某些操作。
    的頭像 發(fā)表于 04-19 15:49 ?633次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-迭代器

    迭代器是 Python 中非常重要的概念之一,它是一種對象,可以在代碼中按順序訪問一組值。
    的頭像 發(fā)表于 04-20 16:58 ?869次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-文件打開

    Python中,可以使用open()內(nèi)置函數(shù)打開文件,以執(zhí)行一系列文件的操作。在本文中,將介紹Python中打開文件的基礎(chǔ)知識及常用的打開模式。
    的頭像 發(fā)表于 04-27 09:14 ?596次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-文件處理

    當(dāng)涉及到 Python 文件處理時, 我們通常會涉及到文件的讀取和寫入, 以及文件的操作和處理。
    的頭像 發(fā)表于 04-27 09:21 ?604次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-文件刪除

    Python 文件刪除是 Python 開發(fā)中常用的一項操作,本文將針對 Python 中的 os 模塊提供多個示例,介紹如何刪除不同類型的文件。
    的頭像 發(fā)表于 04-27 09:24 ?465次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-遠(yuǎn)程連接管理Telnet

    Python Telnet是一種用于遠(yuǎn)程連接和管理網(wǎng)絡(luò)設(shè)備的Python庫。
    的頭像 發(fā)表于 04-28 09:47 ?847次閱讀

    網(wǎng)絡(luò)工程師學(xué)Python-多線程技術(shù)簡述

    Python多線程是一種并發(fā)編程的方式,通過使用多個線程在同一時間內(nèi)執(zhí)行多個任務(wù)
    的頭像 發(fā)表于 04-28 09:49 ?506次閱讀
    <b class='flag-5'>網(wǎng)絡(luò)工程師學(xué)</b><b class='flag-5'>Python-</b>多線程技術(shù)簡述