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

加上引號就好了
def foo(value: 'str|int|float|list|tuple'):
print(value)
foo(None)
Python函數(shù)元數(shù)據(jù)使用筆記
由于Python是一門解釋型語言,在Python中定義變量不需要指明類型,所以當(dāng)我們在編寫函數(shù)時,可以為函數(shù)的參數(shù)添加一些額外的信息來指明變量類型,以方便其他人使用。
因此,可以使用函數(shù)參數(shù)注解來提示使用者傳入變量的類型。
例如:
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解釋器不會對這些注解添加任何語義,也不會使用注解對傳入的變量進(jìn)行類型檢查,而在函數(shù)運(yùn)行時與沒有加注解之前的效果也沒有任何的差距。
然而,給函數(shù)添加注解對函數(shù)的使用者和閱讀源碼的人來說幫助很大。
有的第三方工具和框架可能會對這些注解添加語義。同時,這些注解也會出現(xiàn)在文檔中。
Result:

函數(shù)的注解儲存在函數(shù)的__annotations__屬性中,盡管注解的使用方法可能有很多種,但是注解的主要用途還是文檔,因為在Python中沒有類型聲明,通常僅僅通過閱讀源碼很難知道應(yīng)該傳遞什么樣的參數(shù)給函數(shù),此時使用注解就能給使用者更多的提示,使使用者可以正確的使用函數(shù)。
Reference:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)多線程的方式及多條命令并發(fā)執(zhí)行
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)多線程的方式及多條命令并發(fā)執(zhí)行,感興趣的小伙伴們可以參考一下2016-06-06
Python的協(xié)程操作幾種實現(xiàn)方式總結(jié)
在Python中協(xié)程(Coroutine)是一種強(qiáng)大的并發(fā)編程工具,允許你以非阻塞方式處理I/O密集型任務(wù)、異步操作等場景,這篇文章主要介紹了Python的協(xié)程操作幾種實現(xiàn)方式,需要的朋友可以參考下2025-09-09

