91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python支持重載嗎

發布時間:2020-09-23 14:31:15 來源:億速云 閱讀:158 作者:Leah 欄目:編程語言

這篇文章運用簡單易懂的例子給大家介紹python支持重載嗎,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

在一些靜態語言中,大都存在有一個重載的概念。這是在OOP(面對對象編程)中一個必不可少的一個行為。

所謂重載,就是多個相同函數名的函數,根據傳入的參數個數,參數類型而執行不同的功能。所以函數重載實質上是為了解決編程中參數可變不統一的問題。

python 中的重載

在python中,具有重載的思想卻沒有重載的概念。所以有的人說python這門語言并不支持函數重載,有的人說python具有重載功能。實際上python編程中具有重載的目的,卻無重載的行為,或者說是python并不需要重載!

python是一門動態語言,不需要聲明變量類型,函數中可以接受任何類型的參數也就無法根據參數類型來支持重載,python沒有必要去考慮參數的類型問題,這些都可以在函數內部判斷處理,并無必要去在寫一個函數。python 有多種傳參方式,默認參數/可變參數/可變關鍵字參數可以處理函數參數中參數可變的問題。

python3.4中增加的重載機制

在python3.4中提供有一個轉發機制來實現重載:

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)

關于python支持重載嗎就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜兰县| 榆社县| 龙海市| 丰都县| 永泰县| 禹城市| 南充市| 蓬莱市| 荥阳市| 利津县| 张家港市| 浮山县| 邯郸县| 临洮县| 罗江县| 富阳市| 师宗县| 义乌市| 德钦县| 盱眙县| 犍为县| 辛集市| 乐平市| 凯里市| 安平县| 福清市| 东兴市| 易门县| 黄陵县| 陵水| 长治市| 大石桥市| 六安市| 汶上县| 淳安县| 临江市| 西藏| 刚察县| 南部县| 湘潭县| 宝清县|