最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python多繼承時子類如何調(diào)用指定父類

 更新時間:2024年06月13日 10:42:26   作者:彭世瑜  
這篇文章主要介紹了Python多繼承時子類如何調(diào)用指定父類問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Python多繼承時子類調(diào)用指定父類

在Python中,如果一個子類繼承自多個父類,并且這些父類都有相同名稱的方法,你可以使用父類名直接調(diào)用指定父類的方法。

# -*- coding: utf-8 -*-

class Parent1:
    def my_method(self):
        print("Parent1's my_method")


class Parent2:
    def my_method(self):
        print("Parent2's my_method")


class Child(Parent1, Parent2):
    def call_parent1_method(self):
        Parent1.my_method(self)


if __name__ == '__main__':
    c = Child()
    c.call_parent1_method()  # 輸出: Parent1's my_method

在上面的例子中,Child 類同時繼承了 Parent1 和 Parent2。

如果你需要在 Child 的實例方法中調(diào)用 Parent1 的 my_method,你可以直接使用 Parent1.my_method(self) 來調(diào)用。

這里的 self 是用來指向子類實例的,確保方法可以訪問到實例的屬性。

Python子類繼承父類構(gòu)造函數(shù)說明

(1) 如果在子類中需要的構(gòu)造方法就需要顯示的調(diào)用父類的構(gòu)造方法,或者不重寫父類的構(gòu)造方法。

子類不重寫__init__,實例化子類時,會自動調(diào)用父類定義的__init__。

實例:

class Father(object):
    def __init__(self, age):
        self.age=age
        print ( "age: %d" %( self.age) )
    def getAge(self):
        print('父類的返回結(jié)果')
        return self.age
 
class Son(Father):
    def getAge(self):
        print('子類的返回結(jié)果:')
        return self.age
 
if __name__=='__main__':
    son=Son(18)
    print ( son.getAge() )

輸出結(jié)果:

age: 18
子類的返回結(jié)果:
18

子類沒有初始化__init__ 方法,所以默認(rèn)會自動調(diào)用父類定義的__init__,因此會出現(xiàn)一行:age: 18

(2)如果重寫了__init__ 時,實例化子類,就不會調(diào)用父類已經(jīng)定義的 __init__

實例

class Father(object):
    def __init__(self, age):
        self.age=age
        print ( "age: %d" %( self.age) )
    def getAge(self):
        return self.age
 
class Son(Father):
    def __init__(self, age):
        print ( "hello world" )
        self.age =  age
    def getAge(self):
        return self.age
 
if __name__=='__main__':
    son=Son(18)
    print (son.getAge() )

輸出結(jié)果:

hello world
18

子類有初始化__init__ 方法,則會調(diào)用自身的初始化方法,因此不會出現(xiàn)上面實例中那樣的:age: 18

(3)如果重寫了__init__時,要繼承父類的構(gòu)造方法,可以使用super關(guān)鍵字:

super(子類,self).__init__(參數(shù)1,參數(shù)2,....)

或者另一種經(jīng)典的方法:

父類名稱.__init__(self,參數(shù)1,參數(shù)2,...)

實例:

class Father(object):
    def __init__(self, age):
        self.age=age
        print ( "name: %s" %( self.age))
    def getage(self):
        return self.age
 
class Son(Father):
    def __init__(self, age):
#         super(Son, self).__init__(age)  # 1:super方法
        Father.__init__(self,age)         # 2: 經(jīng)典方法
        print ("hello world")
        self.age =  age
    def getage(self):
        return self.age
 
if __name__=='__main__':
    son=Son(18)
    print ( son.getage() )

輸出結(jié)果:

name: 18
hello world
18

可以看到,會出現(xiàn)父類中的初始化輸出結(jié)果: name: 18,也會出現(xiàn)子類初始化中輸出結(jié)果:hello world

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python腳本檢測笑臉漏洞的問題復(fù)現(xiàn)

    Python腳本檢測笑臉漏洞的問題復(fù)現(xiàn)

    Python腳本有效檢測vsftpd2.3.4版本中的笑臉漏洞,該漏洞存在于6200端口,允許任何人連接,輸入帶有特定表情符號的用戶名和任意密碼即可觸發(fā),本文介紹了環(huán)境搭建、漏洞掃描和利用過程,通過nc命令演示了漏洞復(fù)現(xiàn)步驟
    2024-10-10
  • python程序運(yùn)行添加命令行參數(shù)argparse模塊具體用法詳解

    python程序運(yùn)行添加命令行參數(shù)argparse模塊具體用法詳解

    這篇文章主要給大家介紹了關(guān)于python程序運(yùn)行添加命令行參數(shù)argparse模塊具體用法的相關(guān)資料,argparse是Python內(nèi)置的一個用于命令項選項與參數(shù)解析的模塊,通過在程序中定義好我們需要的參數(shù),需要的朋友可以參考下
    2024-01-01
  • Python文件路徑處理模塊pathlib示例詳解

    Python文件路徑處理模塊pathlib示例詳解

    pathlib是跨平臺的、面向?qū)ο蟮穆窂讲僮髂K,可適用于不同的操作系統(tǒng),其操作對象是各種操作系統(tǒng)中使用的路徑,下面這篇文章主要給大家介紹了關(guān)于Python文件路徑處理模塊pathlib的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • python實現(xiàn)畫桃心表白

    python實現(xiàn)畫桃心表白

    這篇文章主要介紹了python實現(xiàn)畫桃心表白的代碼,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜

    Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜

    這篇文章主要介紹了Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法

    python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法

    這篇文章主要為大家詳細(xì)介紹了python中plot實現(xiàn)即時數(shù)據(jù)動態(tài)顯示方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python使用裝飾器和線程限制函數(shù)執(zhí)行時間的方法

    python使用裝飾器和線程限制函數(shù)執(zhí)行時間的方法

    這篇文章主要介紹了python使用裝飾器和線程限制函數(shù)執(zhí)行時間的方法,主要涉及timelimited函數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 使用wxPython創(chuàng)建一個文件夾結(jié)構(gòu)生成器

    使用wxPython創(chuàng)建一個文件夾結(jié)構(gòu)生成器

    這篇文章主要為大家詳細(xì)介紹了如何利用?wxPython?來創(chuàng)建一個文件夾結(jié)構(gòu)生成器,幫助大家自動化地創(chuàng)建文件夾和文件結(jié)構(gòu),有需要的可以了解下
    2024-11-11
  • Python方法返回2個值詳細(xì)代碼示例

    Python方法返回2個值詳細(xì)代碼示例

    在Python中函數(shù)可以返回多個值,這通常是通過返回一個元組來實現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于Python方法返回2個值的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • python模擬事件觸發(fā)機(jī)制詳解

    python模擬事件觸發(fā)機(jī)制詳解

    這篇文章主要為大家詳細(xì)介紹了python模擬事件觸發(fā)機(jī)制的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

邢台县| 南澳县| 江西省| 吕梁市| 海兴县| 旌德县| 永春县| 区。| 永登县| 武平县| 华宁县| 肇源县| 新化县| 青冈县| 云和县| 乳山市| 巴青县| 杂多县| 遂昌县| 甘肃省| 邛崃市| 上虞市| 太谷县| 仁布县| 乐陵市| 射洪县| 上犹县| 赤峰市| 阿坝县| 凉城县| 平定县| 宜良县| 淮北市| 镇江市| 宝清县| 水富县| 旅游| 沙河市| 曲麻莱县| 如皋市| 揭西县|