chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

python類的繼承詳解

python爬蟲(chóng)知識(shí)分享 ? 來(lái)源:python爬蟲(chóng)知識(shí)分享 ? 作者:python爬蟲(chóng)知識(shí)分享 ? 2022-03-08 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

python類的繼承

類的繼承,跟人類繁衍的關(guān)系相似。

被繼承的類稱為基類(也叫做父類),繼承而得的類叫派生類(也叫子類),這種關(guān)系就像人類的父子關(guān)系。

繼承最大的好處是子類獲得了父類的全部變量和方法的同時(shí),又可以根據(jù)需要進(jìn)行修改、拓展。

繼承的語(yǔ)法結(jié)構(gòu)是

class 子類(父類):

1. 單繼承

舉個(gè)例子:下面的代碼中。先是定義了一個(gè) People 類,里面有一個(gè) speak 方法。然后再定義一個(gè) Student 類,并繼承自 People 類。

# 父類定義
class People:
    def __init__(self, name, age, weight):
        self.name = name
        self.age = age

    def speak(self):
        print(f"{self.name} 說(shuō): 我{self.age}歲。")

# 單繼承示例
class Student(People):
    def __init__(self, name, age, weight, grade):
        # 調(diào)用父類的實(shí)例化方法
        People.__init__(self, name, age, weight)
        self.grade = grade

由于繼承的機(jī)制,Student 實(shí)例會(huì)擁有 People 類所有屬性和方法,比如下邊我可以直接調(diào)用 People 類的 speak 方法。

>>> xm = Student(name="小明", age=10, weight=50, grade="三年級(jí)")
>>> xm.speak()
小明 說(shuō): 我 10 歲。

你如果不想使用父類的方法,你可以重寫(xiě)它以覆蓋父類的 speak 方法。

# 單繼承示例
class Student(People):
    def __init__(self, name, age, weight, grade):
        # 調(diào)用父類的實(shí)例化方法
        People.__init__(self, name, age, weight)
        self.grade = grade

    # 重寫(xiě)父類的speak方法
    def speak(self):
        print(f"{self.name} 說(shuō): 我{self.age}歲了,我在讀{self.grade}")

此時(shí),再調(diào)用的話,就會(huì)調(diào)用自己的方法了

>>> xm = Student(name="小明", age=10, weight=50, grade="三年級(jí)")
>>> xm.speak()
小明 說(shuō): 我10歲了,我在讀三年級(jí)

2. 多繼承

Python 還支持多繼承,可以繼承自多個(gè)類。

class 子類(父類1, 父類2, 父類3...):

多繼承的話,情況會(huì)比單繼承復(fù)雜得多。

假設(shè)多個(gè)父類都有一個(gè) foo 方法,并且子類沒(méi)有重寫(xiě) foo 方法,那么 子類 的實(shí)例在調(diào)用 foo 方法時(shí),應(yīng)該使用哪個(gè)父類的 foo 方法呢?

關(guān)于這一點(diǎn),只要簡(jiǎn)單的做個(gè)驗(yàn)證就行啦。

有如下代碼,定義了 7 個(gè)類

class D:pass
class C(D):pass

class B(C):
    def show(self):
        print("i am B")

class G:pass
class F(G):pass

class E(F):
    def show(self):
        print("i am E")

class A(B, E):pass

運(yùn)行后的結(jié)果如下

>>> a = A()
>>> a.show()
i am B

在類A中,沒(méi)有show()這個(gè)方法,于是它只能去它的父類里查找,它首先在B類中找,結(jié)果找到了,于是直接執(zhí)行B類的show()方法。可見(jiàn),在A的定義中,繼承參數(shù)的書(shū)寫(xiě)有先后順序,寫(xiě)在前面的被優(yōu)先繼承。

3. 繼承順序

那如果B沒(méi)有show方法,而是D有呢?

class D:
    def show(self):
        print("i am D")

class C(D):pass
class B(C):pass


class G:pass
class F(G):pass

class E(F):
    def show(self):
        print("i am E")

class A(B, E):pass

執(zhí)行結(jié)果是

>>> a = A()
>>> a.show()
i am D

由此可見(jiàn),多繼承的順序使用的是從左向右再深度優(yōu)先的原則。

審核編輯:符乾江

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

    關(guān)注

    58

    文章

    4882

    瀏覽量

    90287
  • 繼承
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    2893
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用PYTHON進(jìn)行的跨平臺(tái)仿真

    如何使用編程語(yǔ)言Python來(lái)調(diào)用和控制VirtualLab Fusion中的模擬。請(qǐng)查看下面鏈接的文檔,以找到關(guān)于如何設(shè)置和使用Python和VirtualLab Fusion之間的接口的詳細(xì)指南,以及一個(gè)
    發(fā)表于 04-02 08:21

    [VirtualLab] 使用Python運(yùn)行VirtualLab Fusion光學(xué)仿真

    摘要 VirtualLab Fusion允許Python外部訪問(wèn)其建模技術(shù)、求解器和結(jié)果。這個(gè)用例介紹了一種使用路徑變量和Visual Studio代碼將Python連接到VirtualLab
    發(fā)表于 03-31 09:39

    [VirtualLab] 使用Python進(jìn)行跨平臺(tái)參數(shù)掃描

    摘要 VirtualLab Fusion允許外部訪問(wèn)其建模技術(shù)、求解器和結(jié)果。這有助于應(yīng)用其他數(shù)據(jù)處理或優(yōu)化工具來(lái)進(jìn)一步研究光學(xué)模擬。在本示例中,我們演示如何使用Python腳本運(yùn)行參數(shù)掃描,以及
    發(fā)表于 03-31 09:36

    如何在 VisionFive 上使用 Python 包?

    VisionFive Fedora 下的本地目錄,請(qǐng)?jiān)谠创a目錄下執(zhí)行以下命令: 提示:源代碼可從以下位置下載:愿景五.gpio. sudo yum install python
    發(fā)表于 03-30 08:28

    1688 商品詳情 API 調(diào)用與數(shù)據(jù)解析 Python 實(shí)戰(zhàn)

    你想要的是 1688 商品詳情 API 的 Python 調(diào)用與數(shù)據(jù)解析實(shí)戰(zhàn)方案,核心是完成 API 憑證配置、接口請(qǐng)求(含簽名)、響應(yīng)數(shù)據(jù)解析、異常處理 的全流程落地,我會(huì)提供可直接運(yùn)行的代碼,并
    的頭像 發(fā)表于 02-10 11:23 ?371次閱讀

    MAX9744 20W 立體聲 D 揚(yáng)聲器放大器:設(shè)計(jì)與應(yīng)用詳解

    MAX9744 20W 立體聲 D 揚(yáng)聲器放大器:設(shè)計(jì)與應(yīng)用詳解 在音頻放大器領(lǐng)域,D 放大器憑借其高效率的特點(diǎn)逐漸成為主流選擇。今天,我們要深入探討的是 MAXIM 公司的 MAX9744
    的頭像 發(fā)表于 01-16 16:30 ?396次閱讀

    沒(méi)有專利的opencv-python 版本

    所有 官方發(fā)布的 opencv-python 核心版本(無(wú) contrib 擴(kuò)展)都無(wú)專利風(fēng)險(xiǎn)——專利問(wèn)題僅存在于 opencv-contrib-python 擴(kuò)展模塊中的少數(shù)算法(如早期 SIFT
    發(fā)表于 12-13 12:37

    圖解碼說(shuō)-六大UML圖關(guān)系(依賴,繼承,實(shí)現(xiàn),關(guān)聯(lián),聚合,組合)

    UML 圖是面向?qū)ο笤O(shè)計(jì)的 “施工圖”,而依賴、繼承、實(shí)現(xiàn)、關(guān)聯(lián)、聚合、組合這六大關(guān)系,就是圖中定義互動(dòng)規(guī)則的核心 “語(yǔ)法”。掌握它們,就能快速看懂
    的頭像 發(fā)表于 11-05 09:03 ?882次閱讀
    圖解碼說(shuō)-六大UML<b class='flag-5'>類</b>圖關(guān)系(依賴,<b class='flag-5'>繼承</b>,實(shí)現(xiàn),關(guān)聯(lián),聚合,組合)

    淘寶商品詳情接口(item_get)企業(yè)級(jí)全解析:參數(shù)配置、簽名機(jī)制與 Python 代碼實(shí)戰(zhàn)

    本文詳解淘寶開(kāi)放平臺(tái)taobao.item_get接口對(duì)接全流程,涵蓋參數(shù)配置、MD5簽名生成、Python企業(yè)級(jí)代碼實(shí)現(xiàn)及高頻問(wèn)題排查,提供可落地的實(shí)戰(zhàn)方案,助你高效穩(wěn)定獲取商品數(shù)據(jù)。
    的頭像 發(fā)表于 09-26 09:13 ?1088次閱讀
    淘寶商品詳情接口(item_get)企業(yè)級(jí)全解析:參數(shù)配置、簽名機(jī)制與 <b class='flag-5'>Python</b> 代碼實(shí)戰(zhàn)

    termux調(diào)試python猜數(shù)字游戲

    用termux做一個(gè)猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實(shí)現(xiàn)方案,結(jié)合Python實(shí)現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    termux如何搭建python游戲 Termux搭建Python游戲開(kāi)發(fā)環(huán)境的完整指南 一、Termux基礎(chǔ)環(huán)境準(zhǔn)備 Termux是一款無(wú)需root即可在安卓設(shè)備上運(yùn)行的Linux終端
    發(fā)表于 08-29 07:06

    python app不能運(yùn)行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發(fā)表于 08-06 06:27

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(二)

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(二) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融應(yīng)用 (金融理財(cái)# 一、前言 今天我們繼續(xù)深入講解
    的頭像 發(fā)表于 07-11 18:17 ?1024次閱讀
    【HarmonyOS 5】鴻蒙中的UIAbility<b class='flag-5'>詳解</b>(二)

    HarmonyOS 5 makeObserved接口詳解

    【HarmonyOS 5】makeObserved接口詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融應(yīng)用 (金融理財(cái)# 一、makeObserved接口
    的頭像 發(fā)表于 06-16 17:58 ?791次閱讀

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(三)

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(三) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融應(yīng)用 (金融理財(cái)# 一、前言 本文是鴻蒙中的UIAbility
    的頭像 發(fā)表于 06-14 22:32 ?872次閱讀