python里面沒有重載吧?
10年積累的網站建設、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站設計后付款的網站建設流程,更有芒康免費網站建設讓你可以放心的選擇與我們合作。
正常的重載說的應該是函數方法的重載,即兩個函數的名稱相同但是參數不同是重載,會出現重載的情況一般是函數實現相同功能時,遇到參數類型可能不同的情況,會出現重載,如比較常見的對于加法的實現,如果輸入兩個整數相加則直接使用整數加法,如果兩個字符串相加則使用字符串的拼接。輸入的參數類型不同,其實是兩個不同的函數,這在那種強類型語言中是可以利用函數重載來實現的,而python中函數類型是動態的各種各樣的,所以不需要重載這個機制。相同函數名就是表示同一個方法。
函數重載是Python中的稀罕東西。
Python ? 3.6.0a4 Documentation ? The Python Standard Library ? 10.
Functional
10.2. functools — Higher-order functions and operations on callable objects
!
python中沒有函數重載。
為了考慮為什么python不提供函數重載,首先我們要研究為什么需要提供函數重載。
函數重載主要是為了解決兩個問題:
可變參數類型。
可變參數個數。
另外,一個基本的設計原則是,僅僅當兩個函數除了參數類型和參數個數不同以外,其功能是完全相同的,此時才使用函數重載,如果兩個函數的功能其實不同,那么不應當使用重載,而應當使用一個名字不同的函數。
那么對于情況 1 ,函數功能相同,但是參數類型不同,python 如何處理?
答案是根本不需要處理,因為 python 可以接受任何類型的參數,如果函數的功能相同,那么不同的參數類型在 python 中很可能是相同的代碼,沒有必要做成兩個不同函數。
那么對于情況 2 ,函數功能相同,但參數個數不同,python 如何處理?
答案就是缺省參數。對那些缺少的參數設定為缺省參數即可解決問題。因為你假設函數功能相同,那么那些缺少的參數終歸是需要用的。好了,鑒于情況 1 跟 情況 2 都有了解決方案,python 自然就不需要函數重載了。
更多Python知識請關注Python自學網
將__div__換成__truediv__試試
因為在python 2.x.x 里面 / 是classic division 所以LOVESOO的回答沒有問題
在python 3.x.x / 對應的是 true division 所以試試定義 __truediv__
搜 API Changes
名稱欄目:python熱重載函數,python 構造函數重載
分享網址:http://vcdvsql.cn/article2/hedcoc.html
成都網站建設公司_創新互聯,為您提供企業建站、關鍵詞優化、手機網站建設、用戶體驗、標簽優化、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯