Python作為一種動態類型語言,讓程序員在開發過程中更加自由。但是Python也有靜態類型的功能,使得代碼更加清晰、更容易維護。在Python3.5中開始支持類型注解,Python3.6中加入PEP 526來支持變量注解和作用域注解。
# 變量注解 x: int = 42 y: str = 'Hello world!' z: List[int] = [1, 2, 3] # 函數注解 def add(x: int, y: int) ->int: return x + y # 類型別名 from typing import List, Tuple UserId = int UserList = List[str] UserTuple = Tuple[str, int]
類型注解對代碼的作用不僅僅是在減少類型錯誤上。通過使用類型注解,程序員清楚地了解代碼的調用方式和函數返回值,代碼也更加具備可讀性和可維護性。另外類型注解也是許多靜態類型檢查工具的基礎,例如Mypy、Pytype等。
然而需要注意的是,類型注解僅僅是一種語法糖,在運行時Python解釋器并不會強制執行類型檢查。所以,程序員需要自我約束,使用注解編寫易于理解的代碼。