這是函數(shù)注解,Python3.x引入,它的特點(diǎn)有
1.對(duì)函數(shù)的參數(shù)進(jìn)行類(lèi)型注解,以冒號(hào)標(biāo)記
2.對(duì)函數(shù)的返回值進(jìn)行類(lèi)型注解,以箭頭標(biāo)記
3.只對(duì)函數(shù)參數(shù)或返回值做一個(gè)輔助的說(shuō)明,并不對(duì)函數(shù)參數(shù)或返回值進(jìn)行類(lèi)型檢查
4.提供給第三方工具,做代碼分析,發(fā)現(xiàn)隱藏bug
5.函數(shù)注解的信息,保存在__annotations__屬性中
6.注解本身是一個(gè)字典類(lèi)型的數(shù)據(jù)
你的程序我?guī)湍阃晟屏?函數(shù)注解部分的解釋見(jiàn)注釋),你看看吧
from?typing?import?List
def?f(a)?->?List[dict]:?#函數(shù)注解,返回一個(gè)字典列表,但是它不對(duì)返回值類(lèi)型進(jìn)行檢查
?print(a)??#打印字典
?return?[a]?#返回字典列表
print(f.__annotations__)?#打印函數(shù)注解
l={'Name':?'Zara','Age':17}?#把字典傳入函數(shù)
print(f(l))?#打印函數(shù)返回值源代碼(注意源代碼的縮進(jìn))