在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python中的繼承詳解

網絡技術干貨圈 ? 來源:網絡技術干貨圈 ? 2023-04-20 16:56 ? 次閱讀

Python 中,繼承是一種重要的面向對象編程概念。通過繼承,我們可以定義一個新的類,它繼承了現有類的屬性和方法。這種代碼重用可以使我們更高效地編寫程序,并提高代碼的可讀性和可維護性。

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

基本語法

在 Python 中,繼承是通過將父類的名稱作為子類的參數來實現的。例如,下面的代碼定義了一個名為 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_(),它調用了父類的構造函數,并將 x 和 y 參數傳遞給它。這確保了子類在實例化時也會初始化父類的屬性。

方法重寫

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

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

在上面的代碼中,我們定義了一個名為 Square 的子類,它繼承了 Rectangle 類,并重寫了其 _init_() 方法,將 width 和 height 參數都設置為 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 類。在這種情況下,當我們調用 calculate_pay() 方法時,Python 將從左到右依次搜索父類,直到找到一個具有相應方法的類。在這個例子中,Python 將先搜索 SalesPerson 類,然后是 Manager 類。

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

總結

繼承是面向對象編程的重要概念之一,可以幫助我們編寫更高效和可維護的代碼。在 Python 中,我們可以通過將父類的名稱作為子類的參數來實現繼承,并使用方法重寫和多重繼承來定制子類的行為。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    88

    文章

    3637

    瀏覽量

    93986
  • 程序
    +關注

    關注

    117

    文章

    3795

    瀏覽量

    81415
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62973
  • 代碼
    +關注

    關注

    30

    文章

    4827

    瀏覽量

    69054
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85040

原文標題:網絡工程師學Python-13-繼承

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Python的面向對象編程詳解

    一般編程可分為面向過程編程,和面向對象編程。Python的面向對象編程,與Java的面向對象很像。之所以需要面向對象編程,是為了更好地實現封裝、繼承、多態。
    發表于 09-04 16:35 ?594次閱讀
    <b class='flag-5'>Python</b>的面向對象編程<b class='flag-5'>詳解</b>

    Python多重繼承使用方法

    繼承是面向對象編程的一個重要方式,通過繼承,子類可以擴展父類的功能,Python也具有該特性,除此之外,Python還可以使用多重繼承。語法
    發表于 04-19 14:41

    3分鐘看懂Python面向對象

    個Interface,但最多繼承自一個類)。多重繼承機制有時很好用,但是它容易讓事情變得復雜。多態多態意味著可以對不同的對象使用同樣的操作,但它們可能會以多種形態呈現出結果。在Python
    發表于 06-08 14:20

    js的寄生繼承詳解

    // 將原型繼承和非原型繼承組合為一體的繼承方式叫做組合繼承,但是這種方法的繼承是有一點小缺陷的,下級函數
    發表于 05-31 06:03

    python類的繼承

    python類的繼承類的繼承,跟人類繁衍的關系相似。被繼承的類稱為基類(也叫做父類),繼承而得的類叫派生類(也叫子類),這種關系就像人類的父
    發表于 03-08 16:40

    完全自學指南Python爬蟲BeautifulSoup詳解

    完全自學指南Python爬蟲BeautifulSoup詳解
    發表于 09-07 08:55 ?39次下載
    完全自學指南<b class='flag-5'>Python</b>爬蟲BeautifulSoup<b class='flag-5'>詳解</b>

    Python開發技術詳解》-隨書附帶程序

    Python開發技術詳解 周偉,宗杰等編著 機械工業出版社 隨書附帶程序
    發表于 05-09 14:05 ?0次下載

    python經典實例詳解

    python經典實例詳解說明。
    發表于 04-26 10:14 ?32次下載

    python類的繼承詳解

    python類的繼承 類的繼承,跟人類繁衍的關系相似。 被繼承的類稱為基類(也叫做父類),繼承而得的類叫派生類(也叫子類),這種關系就像人類
    的頭像 發表于 03-08 16:40 ?3160次閱讀

    Python到底是如何實現繼承的呢

    簡單地說,在python,新建的類可以繼承一個或者多個類。父類又可以稱為基類或者超類,新建的類稱為派生類或者子類。
    的頭像 發表于 08-18 15:46 ?2416次閱讀
    <b class='flag-5'>Python</b>到底是如何實現<b class='flag-5'>繼承</b>的呢

    怎樣在Java實現多繼承

    Java是一種面向對象的只允許單繼承的語言,那么怎樣在Java實現多繼承呢? 2 方法 1. 多層繼承 如果要直接繼承類,子類
    的頭像 發表于 02-17 14:55 ?1362次閱讀

    網絡工程師學Python-繼承概念介紹

    Python ,繼承是一種重要的面向對象編程概念。通過繼承,我們可以定義一個新的類,它繼承了現有類的屬性和方法。
    的頭像 發表于 04-20 16:56 ?534次閱讀

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發表于 06-06 17:50 ?0次下載

    Python繼承的基本規則

    繼承規則 與其他基于類的語言一樣,可以通過繼承組合多個類定義。 類定義可以擴展(或繼承)多個其他類。這些類又可以擴展其他類。 請注意,類不能繼承 P
    的頭像 發表于 09-20 14:24 ?563次閱讀

    pythonopen函數的用法詳解

    pythonopen函數的用法詳解 Python的open()函數用于打開文件。它接受文件名和模式作為參數,并返回一個文件對象。文件對象
    的頭像 發表于 01-30 15:31 ?2238次閱讀
    主站蜘蛛池模板: 69一级毛片| 黄视频网站免费观看 | 色视频在线观看网站 | 色偷偷综合网 | 精品一区二区三区免费爱 | 一区二区不卡视频在线观看 | 三级在线网站 | 日本人69xxx| 4455ee日本高清免费观看 | 国产免费一级高清淫日本片 | 97久久精品国产精品青草 | 亚洲黄网址 | 亚洲欧美视频在线播放 | 欧美不卡在线视频 | 四虎影院免费观看视频 | www.一区二区三区.com | 久久综合久 | 影音先锋午夜资源网站 | 午夜大片网 | 视频一本大道香蕉久在线播放 | 色天天综合久久久久综合片 | 成人欧美精品一区二区不卡 | 婷婷国产成人久久精品激情 | 亚洲第一区二区快射影院 | 国产女人和拘做受视频免费 | 午夜精品久久久久久久四虎 | 啪啪免费小视频 | 一级片在线免费播放 | 亚洲色图偷窥自拍 | 亚洲成a人片777777久久 | 精品国模| seba51久久精品 | 免费在线亚洲 | 浓厚な接吻と肉体の交在线观看 | 国产精品三级 | 国产第一页在线观看 | 国产婷婷色一区二区三区深爱网 | 美女扒开腿让男人桶尿口 | 99热这里只有精品一区二区三区 | 老师今晚让你爽个够 | 96福利视频 |