欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python重寫(xiě)父類(lèi)的三種方法小結(jié)

 更新時(shí)間:2023年03月28日 11:05:43   作者:小Pawn爺  
本文主要介紹了Python重寫(xiě)父類(lèi)的三種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.基礎(chǔ)應(yīng)用

class Animal(object):
? ? def eat(self):
? ? ? ? print("動(dòng)物吃東西")


class Cat(Animal):
? ? def eat(self):
? ? ? ? print("貓吃魚(yú)")
? ? ? ? # 格式一:父類(lèi)名.方法名(對(duì)象)
? ? ? ? Animal.eat(self)
? ? ? ? # 格式二:super(本類(lèi)名,對(duì)象).方法名()
? ? ? ? super(Cat, self).eat()
? ? ? ? # 格式三:super()方法名()
? ? ? ? super().eat()


cat1 = Cat()
cat1.eat()
print(cat1)

2.實(shí)際應(yīng)用

#用元類(lèi)實(shí)現(xiàn)單例模式
class SingletonType(type):
? ? instance = {}

? ? def __call__(cls, *args, **kwargs):
? ? ? ? if cls not in cls.instance:
? ? ? ? ? ? # 方式一:
? ? ? ? ? ? # cls.instance[cls] = type.__call__(cls, *args, **kwargs)
? ? ? ? ? ? # 方式二
? ? ? ? ? ? # cls.instance[cls] = super(SingletonType, cls).__call__(*args, **kwargs)
? ? ? ? ? ? # 方式三
? ? ? ? ? ? cls.instance[cls] = super().__call__(*args, **kwargs)
? ? ? ? return cls.instance[cls]


class Singleton(metaclass=SingletonType):
? ? def __init__(self, name):
? ? ? ? self.name = name


s1 = Singleton('1')
s2 = Singleton('2')
print(id(s1) == id(s2))

3.注意

1.當(dāng)一個(gè)類(lèi)存在多繼承時(shí),它繼承的多個(gè)父類(lèi)有相同的父類(lèi)A,在重寫(xiě)其父類(lèi)時(shí)需要注意

方法一:父類(lèi)名.方法名(對(duì)象)

  • 父類(lèi)A會(huì)被調(diào)用多次(根據(jù)繼承的個(gè)數(shù))
  • 重寫(xiě)父類(lèi)時(shí)根據(jù)需要傳遞所需要的參數(shù)

方法二:super(本類(lèi)名,對(duì)象).方法名()

  • 父類(lèi)A也只會(huì)被調(diào)用一次
  • 重寫(xiě)父類(lèi)方法必須傳遞所有參數(shù)

2.當(dāng)一個(gè)類(lèi)存在繼承,且已經(jīng)在子類(lèi)中重寫(xiě)相應(yīng)的變量,改變父類(lèi)的變量不會(huì)對(duì)子類(lèi)有影響

class Parent(object):
? ? x = 1

class Child1(Parent):
? ? pass

class Child2(Parent):
? ? pass

print(Parent.x, Child1.x, Child2.x)
Child1.x = 2
print(Parent.x, Child1.x, Child2.x)
Parent.x = 3
print(Parent.x, Child1.x, Child2.x)

輸出結(jié)果

1 1 1
1 2 1
3 2 3

到此這篇關(guān)于Python重寫(xiě)父類(lèi)的三種方法小結(jié)的文章就介紹到這了,更多相關(guān)Python重寫(xiě)父類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python編程生成隨機(jī)用戶名及密碼的方法示例

    Python編程生成隨機(jī)用戶名及密碼的方法示例

    這篇文章主要介紹了Python編程生成隨機(jī)用戶名及密碼的方法,結(jié)合實(shí)例形式分析了Python隨機(jī)字符串的相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • VSCode配置python環(huán)境及中文問(wèn)題解決方法

    VSCode配置python環(huán)境及中文問(wèn)題解決方法

    這篇文章主要介紹了VSCode配置python環(huán)境及中文問(wèn)題,print打印中文亂碼如何解決這個(gè)問(wèn)題呢,本文給大家?guī)?lái)兩種方法幫助大家解決這個(gè)問(wèn)題,需要的朋友可以參考下
    2022-02-02
  • python TCP包注入方式

    python TCP包注入方式

    這篇文章主要介紹了python TCP包注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python通過(guò)第三方庫(kù)操作PDF文件的幾種常見(jiàn)方法

    python通過(guò)第三方庫(kù)操作PDF文件的幾種常見(jiàn)方法

    Python是一種高級(jí)編程語(yǔ)言,主要用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、圖像處理等領(lǐng)域,在PDF文件處理方面,Python有許多強(qiáng)大的庫(kù)和工具,這篇文章主要給大家介紹了關(guān)于python通過(guò)第三方庫(kù)操作PDF文件的幾種常見(jiàn)方法,需要的朋友可以參考下
    2024-02-02
  • django實(shí)現(xiàn)web接口 python3模擬Post請(qǐng)求方式

    django實(shí)現(xiàn)web接口 python3模擬Post請(qǐng)求方式

    今天小編就為大家分享一篇django實(shí)現(xiàn)web接口 python3模擬Post請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 圖解Python變量與賦值

    圖解Python變量與賦值

    Python是一門(mén)獨(dú)特的語(yǔ)言,與C語(yǔ)言有很大區(qū)別,初學(xué)Python很多萌新表示對(duì)變量與賦值不理解,這里就大家介紹一下,需要的朋友可以參考下
    2018-04-04
  • 一個(gè)入門(mén)級(jí)python爬蟲(chóng)教程詳解

    一個(gè)入門(mén)級(jí)python爬蟲(chóng)教程詳解

    這篇文章主要介紹了一個(gè)入門(mén)級(jí)python爬蟲(chóng)教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Python偽隨機(jī)數(shù)模塊random詳解

    Python偽隨機(jī)數(shù)模塊random詳解

    這篇文章主要為大家詳細(xì)介紹了Python偽隨機(jī)數(shù)模塊random,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • python實(shí)現(xiàn)階乘的三種方法

    python實(shí)現(xiàn)階乘的三種方法

    階乘是基斯頓·卡曼于 1808 年發(fā)明的運(yùn)算符號(hào),是數(shù)學(xué)術(shù)語(yǔ),一個(gè)正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1,本文給大家介紹了python實(shí)現(xiàn)階乘的三種方法,通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • windows環(huán)境下tensorflow安裝過(guò)程詳解

    windows環(huán)境下tensorflow安裝過(guò)程詳解

    這篇文章主要為大家詳細(xì)介紹了windows環(huán)境下tensorflow安裝過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評(píng)論