python中是否有函數(shù)重載?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供偏關(guān)網(wǎng)站建設(shè)、偏關(guān)做網(wǎng)站、偏關(guān)網(wǎng)站設(shè)計、偏關(guān)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、偏關(guān)企業(yè)網(wǎng)站模板建站服務(wù),十載偏關(guān)做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
python 是動態(tài)腳本型語言,設(shè)計的機制就是按函數(shù)名來保存函數(shù)入口,而不是函數(shù)名+參數(shù)。
你調(diào)用函數(shù)的時候,可以多傳參數(shù),一樣的會調(diào)用到只是函數(shù)名匹配的那個函數(shù)。
python 雖然不支持函數(shù)重載,但是可以通過傳遞容器類型的參數(shù)(list、tuple、set、dict)來實現(xiàn)類似的功能。
為了考慮為什么 python 不提供函數(shù)重載,首先我們要研究為什么需要提供函數(shù)重載。
函數(shù)重載主要是為了解決兩個問題。
1、可變參數(shù)類型。
2、可變參數(shù)個數(shù)。
另外,一個基本的設(shè)計原則是,僅僅當兩個函數(shù)除了參數(shù)類型和參數(shù)個數(shù)不同以外,其功能是完全相同的,此時才使用函數(shù)重載,如果兩個函數(shù)的功能其實不同,那么不應(yīng)當使用重載,而應(yīng)當使用一個名字不同的函數(shù)。
好吧,那么對于情況 1 ,函數(shù)功能相同,但是參數(shù)類型不同,python 如何處理?答案是根本不需要處理,因為 python 可以接受任何類型的參數(shù),如果函數(shù)的功能相同,那么不同的參數(shù)類型在 python 中很可能是相同的代碼,沒有必要做成兩個不同函數(shù)。
那么對于情況 2 ,函數(shù)功能相同,但參數(shù)個數(shù)不同,python 如何處理?大家知道,答案就是缺省參數(shù)。對那些缺少的參數(shù)設(shè)定為缺省參數(shù)即可解決問題。因為你假設(shè)函數(shù)功能相同,那么那些缺少的參數(shù)終歸是需要用的。
好了,鑒于情況 1 跟 情況 2 都有了解決方案,python 自然就不需要函數(shù)重載了。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
當前題目:python中是否有函數(shù)重載
URL鏈接:http://jinyejixie.com/article36/jjhhpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、服務(wù)器托管、網(wǎng)站營銷、企業(yè)建站、搜索引擎優(yōu)化、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)