老生常談python中的重載-創(chuàng)新互聯(lián)

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

超過(guò)十余年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:網(wǎng)站設(shè)計(jì)、做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序開(kāi)發(fā),微信開(kāi)發(fā),app軟件開(kāi)發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷和我們一樣獲得訂單和生意!

所謂重載,就是多個(gè)相同函數(shù)名的函數(shù),根據(jù)傳入的參數(shù)個(gè)數(shù),參數(shù)類型而執(zhí)行不同的功能。所以函數(shù)重載實(shí)質(zhì)上是為了解決編程中參數(shù)可變不統(tǒng)一的問(wèn)題。

python 中的重載

  在python中,具有重載的思想?yún)s沒(méi)有重載的概念。所以有的人說(shuō)python這么語(yǔ)言并不支持函數(shù)重載,有的人說(shuō)python具有重載功能。實(shí)際上python編程中具有重載的目的缺無(wú)重載的行為,或者說(shuō)是python并不需要重載!


  python是一門(mén)動(dòng)態(tài)語(yǔ)言,不需要聲明變量類型,函數(shù)中可以接受任何類型的參數(shù)也就無(wú)法根據(jù)參數(shù)類型來(lái)支持重載,python沒(méi)有必要去考慮參數(shù)的類型問(wèn)題,這些都可以在函數(shù)內(nèi)部判斷處理,并無(wú)必要去在寫(xiě)一個(gè)函數(shù)。python 有多種傳參方式,默認(rèn)參數(shù)/可變參數(shù)/可變關(guān)鍵字參數(shù)可以處理函數(shù)參數(shù)中參數(shù)可變的問(wèn)題。

python3.4中增加的重載機(jī)制

如果你不用重載就會(huì)渾身難受的話

那么在python3.4中提供有一個(gè)轉(zhuǎn)發(fā)機(jī)制來(lái)實(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) 

本文題目:老生常談python中的重載-創(chuàng)新互聯(lián)
文章地址:http://bm7419.com/article12/ijcgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版全網(wǎng)營(yíng)銷推廣、網(wǎng)站維護(hù)移動(dòng)網(wǎng)站建設(shè)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)