中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

老生常談python中的重載

發布時間:2020-08-23 15:19:40 來源:腳本之家 閱讀:146 作者:何惜戈 欄目:開發技術

在一些靜態語言中,大都存在有一個重載的概念。這是在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

娱乐| 建平县| 普格县| 惠东县| 吉林省| 武邑县| 太仓市| 福建省| 合川市| 安阳市| 洪洞县| 遂宁市| 新竹县| 邻水| 桦川县| 麦盖提县| 开平市| 正镶白旗| 垫江县| 行唐县| 胶州市| 淳化县| 靖宇县| 景德镇市| 喀什市| 永靖县| 辽宁省| 北宁市| 宿州市| 宁河县| 伊宁县| 洪雅县| 金寨县| 行唐县| 阿合奇县| 巴青县| 光山县| 和龙市| 五大连池市| 霍邱县| 陇川县|