Python函數(shù)元數(shù)據(jù)實(shí)現(xiàn)為一個(gè)參數(shù)指定多個(gè)類(lèi)型
Python函數(shù)元數(shù)據(jù)為一個(gè)參數(shù)指定多個(gè)類(lèi)型

加上引號(hào)就好了
def foo(value: 'str|int|float|list|tuple'):
print(value)
foo(None)
Python函數(shù)元數(shù)據(jù)使用筆記
由于Python是一門(mén)解釋型語(yǔ)言,在Python中定義變量不需要指明類(lèi)型,所以當(dāng)我們?cè)诰帉?xiě)函數(shù)時(shí),可以為函數(shù)的參數(shù)添加一些額外的信息來(lái)指明變量類(lèi)型,以方便其他人使用。
因此,可以使用函數(shù)參數(shù)注解來(lái)提示使用者傳入變量的類(lèi)型。
例如:
def Test(a:int,b:float)->float:
return a*b
print(Test(1,2.7))
print(Test.__annotations__)Result:

如圖,函數(shù)的注解表示:輸入的變量a為int型,輸入的變量b為float型,函數(shù)的返回值為float型。
Python解釋器不會(huì)對(duì)這些注解添加任何語(yǔ)義,也不會(huì)使用注解對(duì)傳入的變量進(jìn)行類(lèi)型檢查,而在函數(shù)運(yùn)行時(shí)與沒(méi)有加注解之前的效果也沒(méi)有任何的差距。
然而,給函數(shù)添加注解對(duì)函數(shù)的使用者和閱讀源碼的人來(lái)說(shuō)幫助很大。
有的第三方工具和框架可能會(huì)對(duì)這些注解添加語(yǔ)義。同時(shí),這些注解也會(huì)出現(xiàn)在文檔中。
Result:

函數(shù)的注解儲(chǔ)存在函數(shù)的__annotations__屬性中,盡管注解的使用方法可能有很多種,但是注解的主要用途還是文檔,因?yàn)樵赑ython中沒(méi)有類(lèi)型聲明,通常僅僅通過(guò)閱讀源碼很難知道應(yīng)該傳遞什么樣的參數(shù)給函數(shù),此時(shí)使用注解就能給使用者更多的提示,使使用者可以正確的使用函數(shù)。
Reference:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用Python畫(huà)ROC曲線和AUC值計(jì)算
這篇文章給大家介紹了如何利用Python畫(huà)ROC曲線,以及AUC值的計(jì)算,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09
python實(shí)現(xiàn)多線程的方式及多條命令并發(fā)執(zhí)行
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)多線程的方式及多條命令并發(fā)執(zhí)行,感興趣的小伙伴們可以參考一下2016-06-06
Python把圖片轉(zhuǎn)化為pdf代碼實(shí)例
這篇文章主要介紹了Python把圖片轉(zhuǎn)化為pdf代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Python的協(xié)程操作幾種實(shí)現(xiàn)方式總結(jié)
在Python中協(xié)程(Coroutine)是一種強(qiáng)大的并發(fā)編程工具,允許你以非阻塞方式處理I/O密集型任務(wù)、異步操作等場(chǎng)景,這篇文章主要介紹了Python的協(xié)程操作幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2025-09-09
python批量替換頁(yè)眉頁(yè)腳實(shí)例代碼
這篇文章主要介紹了python批量替換頁(yè)眉頁(yè)腳實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

