python是一門動態語言,變量和函數的參數不區分類型,好處是方便,靈活。壞處是別人不能直觀的看到數據的類型,IDE也不能給出類型提示。使用類型標注的好處就不言而喻
def f(a: int,b: int)->int:
return a+b
a: int = 123
b: str = 'hello'
用:符號
指定函數的參數類型,用->符號
指定函數的返回值類型
注意:
- python解釋器不會因為類型標注而有其他額外的類型校驗,檢查等。只是方便人看和IDE進行提示,語法檢查等工作。
- python3.5之后的版本才支持,3.5版本不支持。
使用函數的__annotations__屬性可以查看參數和返回值的類型
- 即使變量的值和標注的類型不一致,python也不會報錯。可以使用
mypy
庫可以檢查py文件類型標注和其值是否一致,一致顯示success,不一致則會報錯。
使用方法:
#test.py
def f(a: int,b: int)->int:
return a+b
c:int = 'aaaa'
安裝mypy庫:pip install mypy
在test.py所在目錄中運行
mypy test.py
結果:
如果成功
#test.py
def f(a: int,b: int)->int:
return a+b
c:int = 12
則顯示: