老生常談python中的重載
在一些靜態(tài)語(yǔ)言中,大都存在有一個(gè)重載的概念。這是在OOP(面對(duì)對(duì)象編程)中一個(gè)必不可少的一個(gè)行為。
所謂重載,就是多個(gè)相同函數(shù)名的函數(shù),根據(jù)傳入的參數(shù)個(gè)數(shù),參數(shù)類型而執(zhí)行不同的功能。所以函數(shù)重載實(shí)質(zhì)上是為了解決編程中參數(shù)可變不統(tǒng)一的問題。
python 中的重載
在python中,具有重載的思想?yún)s沒有重載的概念。所以有的人說python這么語(yǔ)言并不支持函數(shù)重載,有的人說python具有重載功能。實(shí)際上python編程中具有重載的目的缺無重載的行為,或者說是python并不需要重載!
python是一門動(dòng)態(tài)語(yǔ)言,不需要聲明變量類型,函數(shù)中可以接受任何類型的參數(shù)也就無法根據(jù)參數(shù)類型來支持重載,python沒有必要去考慮參數(shù)的類型問題,這些都可以在函數(shù)內(nèi)部判斷處理,并無必要去在寫一個(gè)函數(shù)。python 有多種傳參方式,默認(rèn)參數(shù)/可變參數(shù)/可變關(guān)鍵字參數(shù)可以處理函數(shù)參數(shù)中參數(shù)可變的問題。
python3.4中增加的重載機(jī)制
如果你不用重載就會(huì)渾身難受的話
那么在python3.4中提供有一個(gè)轉(zhuǎn)發(fā)機(jī)制來實(shí)現(xiàn)重載
from functools import singledispatch @singledispatch def function(obj): print('%r'%(obj)) @function.register(int) def function_int(obj): print('Integer: %d'%(obj)) @function.register(str) def function_int(obj): print('String: %s'%(obj)) @function.register(list) def function_list(obj): print('List: %r'%(obj)) if __name__ == "__main__": function(1) function('hello') function(range(3)) function(object)
總結(jié)
以上所述是小編給大家介紹的python中的重載,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Python Selenium 之?dāng)?shù)據(jù)驅(qū)動(dòng)測(cè)試的實(shí)現(xiàn)
這篇文章主要介紹了Python Selenium 之?dāng)?shù)據(jù)驅(qū)動(dòng)測(cè)試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python多進(jìn)程使用函數(shù)封裝實(shí)例
這篇文章主要介紹了python多進(jìn)程使用函數(shù)封裝實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05使用matplotlib庫(kù)實(shí)現(xiàn)圖形局部數(shù)據(jù)放大顯示的實(shí)踐
本文主要介紹了使用matplotlib庫(kù)實(shí)現(xiàn)圖形局部數(shù)據(jù)放大顯示的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式
今天小編就為大家分享一篇tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02對(duì)python的unittest架構(gòu)公共參數(shù)token提取方法詳解
今天小編就為大家分享一篇對(duì)python的unittest架構(gòu)公共參數(shù)token提取方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12