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

一文帶你了解python中的多態(tài)性

 更新時(shí)間:2023年11月05日 16:25:01   作者:跡憶客  
多態(tài)性是 OOP 的一個(gè)特征,這意味著一個(gè)名稱可以具有不同的功能, 這篇文章主要為大家詳細(xì)介紹了如何在 Python 中實(shí)現(xiàn)多態(tài)性,感興趣的小伙伴可以學(xué)習(xí)一下

多態(tài)性是 OOP 的一個(gè)特征,這意味著一個(gè)名稱可以具有不同的功能。 單個(gè)實(shí)體可以采取不同的形式。

本篇文章將介紹如何在 Python 中實(shí)現(xiàn)多態(tài)性。

Python 中的多態(tài)性

理解這一點(diǎn)的最佳方法是使用 len() 函數(shù)。 對(duì)于不同的對(duì)象,該函數(shù)有不同的解釋。

對(duì)于列表,它將返回存在的總元素;對(duì)于字符串,它將返回存在的總字符。

代碼:

lst = ['fql', 'jiyik']
s = 'fqljiyik'
print(len(lst), len(s))

輸出:

2 8

說明 Python 中多態(tài)性的另一個(gè)常見功能是 + 運(yùn)算符。 該運(yùn)算符可以在 Python 中執(zhí)行兩個(gè)數(shù)字之間的加法。

但是,當(dāng)與字符串一起使用時(shí),它充當(dāng)連接運(yùn)算符來組合兩個(gè)字符串。

代碼:

a = 5 + 6
s = 'fql' + 'jiyik'
print(a, s)

輸出:

11 fqljiyik

在 Python 中使用類方法實(shí)現(xiàn)多態(tài)性

Python 中的一切都是對(duì)象,并且屬于某個(gè)類。 這些方法與類的對(duì)象相關(guān)聯(lián)。

這就是為什么 + 運(yùn)算符和 len() 函數(shù)對(duì)不同的對(duì)象執(zhí)行不同的功能。 + 運(yùn)算符調(diào)用為不同對(duì)象定義不同的魔術(shù)函數(shù)。

我們可以創(chuàng)建我們的類并實(shí)現(xiàn)這一目標(biāo)。 兩個(gè)類可以具有相同名稱的函數(shù),但具有不同的用途和不同的定義。

代碼:

class A:
    def fun(self):
        print("Class A")

class B:
    def fun(self):
        print("Class B")

ob1 = A()
ob2 = B()
for i in (ob1, ob2):
    i.fun()

輸出:

Class A
Class B

在 Python 中使用方法重寫實(shí)現(xiàn)多態(tài)性

Python 中的多態(tài)性也與類繼承相關(guān)。 繼承是指一個(gè)類訪問另一個(gè)類的功能。

一個(gè)類及其子類可能包含同名的函數(shù),我們可以在Python中使用函數(shù)重寫。 使用方法重寫,我們可以在子類中實(shí)現(xiàn)已經(jīng)定義的方法。

我們可以根據(jù)子類重新定義函數(shù)。

代碼:

class A:
    def fun(self):
        print("Class A")

class B(A):
    def fun(self):
        print("Class B")

ob1 = A()
ob2 = B()
for i in (ob1, ob2):
    i.fun()

輸出:

Class A
Class B

在上面的代碼示例中,類 B 繼承自類 A,但 fun() 方法在類 B 中被重寫,并根據(jù)類進(jìn)行定義。

我們還可以在重寫函數(shù)中從 A 類訪問函數(shù) fun()。

代碼:

class A:
    def fun(self):
        print("Class A")

class B(A):
    def fun(self):
        A.fun(self)
        print("Class B")

ob2 = B()
ob2.fun()

輸出:

Class A
Class B

在 Python 中使用函數(shù)和運(yùn)算符重載實(shí)現(xiàn)多態(tài)性

函數(shù)重載是實(shí)現(xiàn)多態(tài)性的一個(gè)有趣的功能。 Python 中沒有此功能,Python 中將調(diào)用最近定義的函數(shù)。

Python 中可以重載運(yùn)算符。 我們知道,不同的運(yùn)算符可以根據(jù)對(duì)象類型執(zhí)行不同的功能,使用 + 運(yùn)算符可以清楚地看出。

發(fā)生這種情況是因?yàn)槊慨?dāng)使用運(yùn)算符時(shí)它都會(huì)在內(nèi)部調(diào)用魔術(shù)函數(shù)。 例如,+ 運(yùn)算符在內(nèi)部調(diào)用 __add__ 方法。

這個(gè)神奇的函數(shù)在其名稱前后都有雙下劃線。 魔法函數(shù)并不意味著直接調(diào)用,但我們可以為不同的類定義它們來修改不同運(yùn)算符的行為。

代碼:

class A:
    def __init__(self, a):
        self.a = a

    def __add__(self, o):
        return self.a + o.a + 2

ob1 = A(5)
ob2 = A(4)
print(ob1+ob2)

輸出:

11

到此這篇關(guān)于一文帶你了解python中的多態(tài)性的文章就介紹到這了,更多相關(guān)python多態(tài)性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中整數(shù)的緩存機(jī)制講解

    Python中整數(shù)的緩存機(jī)制講解

    今天小編就為大家分享一篇關(guān)于Python中整數(shù)的緩存機(jī)制講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python中的tcp示例詳解

    python中的tcp示例詳解

    這篇文章主要給大家介紹了關(guān)于python中tcp協(xié)議的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • python實(shí)現(xiàn)切割url得到域名、協(xié)議、主機(jī)名等各個(gè)字段的例子

    python實(shí)現(xiàn)切割url得到域名、協(xié)議、主機(jī)名等各個(gè)字段的例子

    今天小編就為大家分享一篇python實(shí)現(xiàn)切割url得到域名、協(xié)議、主機(jī)名等各個(gè)字段的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python實(shí)現(xiàn)wav和pcm的轉(zhuǎn)換方式

    Python實(shí)現(xiàn)wav和pcm的轉(zhuǎn)換方式

    這篇文章主要介紹了Python實(shí)現(xiàn)wav和pcm的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 詳解Python的lambda函數(shù)用法

    詳解Python的lambda函數(shù)用法

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著lambda函數(shù)用法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python數(shù)據(jù)分析之員工個(gè)人信息可視化

    python數(shù)據(jù)分析之員工個(gè)人信息可視化

    這篇文章主要介紹了python數(shù)據(jù)分析之員工個(gè)人信息可視化,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python可視化的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • 解決pycharm安裝第三方庫(kù)失敗的問題

    解決pycharm安裝第三方庫(kù)失敗的問題

    這篇文章主要介紹了pycharm安裝第三方庫(kù)失敗的解決方法,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python將處理好的圖像保存到指定目錄下的方法

    python將處理好的圖像保存到指定目錄下的方法

    今天小編就為大家分享一篇python將處理好的圖像保存到指定目錄下的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python-OpenCV實(shí)現(xiàn)圖像缺陷檢測(cè)的實(shí)例

    Python-OpenCV實(shí)現(xiàn)圖像缺陷檢測(cè)的實(shí)例

    本文將結(jié)合實(shí)例代碼,在Jupyter Notebook上使用Python+opencv實(shí)現(xiàn)如下圖像缺陷檢測(cè)。需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 讓Django的BooleanField支持字符串形式的輸入方式

    讓Django的BooleanField支持字符串形式的輸入方式

    這篇文章主要介紹了讓Django的BooleanField支持字符串形式的輸入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評(píng)論