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

淺析Python中的方法重載

 更新時(shí)間:2023年10月25日 10:50:47   作者:跡憶客  
方法重載在?Python?中起著至關(guān)重要的作用,?這篇文章主要為大家詳細(xì)介紹了Python中方法重載及其優(yōu)點(diǎn)的相關(guān)知識(shí),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧

Python 中的方法重載

方法重載在 Python 中起著至關(guān)重要的作用。 方法有時(shí)采用零個(gè)參數(shù),有時(shí)采用一個(gè)或多個(gè)參數(shù)。

當(dāng)我們以不同的方式調(diào)用同一個(gè)方法時(shí),稱為方法重載。 Python 并不像其他語言一樣默認(rèn)支持重載方法。

在 Python 中,兩個(gè)或多個(gè)方法不能具有相同的名稱,因?yàn)榉椒ㄖ剌d允許我們使相同的運(yùn)算符具有不同的含義。 讓我們?cè)敿?xì)討論方法重載。

如果同一類中的兩個(gè)或多個(gè)方法采用不同的參數(shù),則它們可能具有相同的名稱。 方法重載的特性允許同一個(gè)操作符有多種解釋。

重載是指一個(gè)方法或操作符可以在同一個(gè)名稱下執(zhí)行許多功能。

現(xiàn)在,讓我們通過一個(gè)基本示例來討論方法重載,在該示例中我們使用相同的參數(shù)執(zhí)行兩個(gè)不同的操作。

例子:

# python
class methodOverload:
    def MethodHi (self, user=None):
        if user is not None:
            print('Hello ' + user)
        else:
            print('Hello')

MethodObj = methodOverload()
MethodObj.MethodHi()
MethodObj.MethodHi('Hasnain')

輸出:

正如您在此示例中所看到的,我們創(chuàng)建了一個(gè)類 methodOverload,在其中定義了方法 MethodHi,該方法將用或不用名稱向用戶打招呼。 在該類之后,我們使用該類創(chuàng)建了一個(gè)對(duì)象實(shí)例,并使用或不使用參數(shù)調(diào)用它。

這種加載具有不同參數(shù)的函數(shù)的類型稱為方法重載。 現(xiàn)在,讓我們討論一下在 Python 程序中使用方法重載的優(yōu)點(diǎn)。

Python 中方法重載的優(yōu)點(diǎn)

在Python程序中使用方法重載有很多優(yōu)點(diǎn)。 其中一些如下:

1.方法重載降低了程序、功能或方法的復(fù)雜性。 它使用戶可以輕松地使用不帶參數(shù)、使用單個(gè)參數(shù)或使用多個(gè)參數(shù)的方式。

2.方法重載提高了代碼質(zhì)量,提高了效率,并涵蓋了大多數(shù)用例,使我們的應(yīng)用程序成功。

3.方法重載提高了程序的可重用性并使其易于訪問。

現(xiàn)在,讓我們看一些方法重載的示例,我們將涵蓋方法重載的不同方面。 當(dāng)我們創(chuàng)建相同的函數(shù)并希望以不同的方式工作時(shí),我們可以使用方法重載。

Python 中的方法重載在同一方法中使用不同的數(shù)據(jù)類型

在我們的第一個(gè)示例中,我們將添加一個(gè)類,并使用不同的數(shù)據(jù)類型以相同的方法執(zhí)行兩個(gè)任務(wù)。 程序檢查數(shù)據(jù)類型是否為整數(shù),然后答案將是數(shù)字相加。

如果數(shù)據(jù)類型是字符串,則答案將是字符串的串聯(lián)。 我們將使用 for 循環(huán)來傳遞參數(shù)并檢查所有參數(shù)。

如果它們是整數(shù),則將它們相加。 如果它們是字符串,則將它們組合起來,如下所示。

例子:

# python
def addition(datatype, *args):
    if datatype =='int':
        result = 0
        for x in args:
            result = result + x
        print(result)
    if datatype =='str':
        result = []
        for x in args:
            result.append(x)
        print(result[0], result[1])


addition('int',7, 11)

addition('str', 'Hello', 'python')

輸出:

在上面的示例中,當(dāng)我們提供整數(shù)作為要添加數(shù)字的數(shù)據(jù)類型時(shí),我們收到了數(shù)字的加法。 但是,當(dāng)我們將字符串作為數(shù)據(jù)類型并傳遞字符串時(shí),相同的方法會(huì)連接字符串并顯示結(jié)果。

Python 中使用多個(gè)調(diào)度裝飾器的方法重載

現(xiàn)在,讓我們看另一個(gè)有點(diǎn)棘手的例子。 在這個(gè)例子中,我們將使用有效的方法來執(zhí)行方法重載。

我們需要使用以下命令安裝多個(gè)調(diào)度裝飾器。

# python
pip install multipledispatch

安裝后,我們將其導(dǎo)入到我們的程序中。 它調(diào)度三個(gè)整數(shù)和三個(gè)浮點(diǎn)數(shù)并顯示以下結(jié)果。

例子:

# python
from multipledispatch import dispatch

@dispatch(int,int,int)
def multiply(oneInt,twoInt,threeInt):
    ans = oneInt * twoInt * threeInt
    print(ans);

@dispatch(float,float,float)
def multiply(oneInt,twoInt,threeInt):
    ans = oneInt * twoInt * threeInt
    print(ans);


multiply(3,7,8)
multiply(3.6,5.9,9.9)

輸出:

正如您在上面的示例中看到的,我們可以使用多個(gè)調(diào)度裝飾器來發(fā)送不同的數(shù)據(jù)類型,并對(duì)我們想要使用的所有數(shù)據(jù)類型使用相同的方法從中獲取結(jié)果。

到此這篇關(guān)于淺析Python中的方法重載的文章就介紹到這了,更多相關(guān)Python方法重載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論