Python 类型注解完全指南
为什么要用类型注解?
Python 是一门动态类型语言,变量类型在运行时才确定。这种灵活性带来了快速开发的优势,但也埋下了隐患:
# 没有类型注解时,这个 bug 可能在生产环境才暴露
def calculate_total(price, quantity):
return price * quantity
# 调用者可能传入错误类型,而 Python 不会提前报错
result = calculate_total("100", "5") # 结果是 "100100100100100",而非 500
类型注解(Type Hints) 在 PEP 484(Python 3.5)中引入,它解决了以下核心痛点:
| 痛点 | 解决方案 |
|---|---|
| IDE 智能提示弱 | PyCharm/VSCode 能基于类型提供精准的自动补全和跳转 |
| 代码可读性差 | 函数签名即文档,无需阅读实现即可了解接口 |
| 重构风险高 | 修改函数参数时,类型检查器能发现所有调用点 |
| 团队协作难 | 接口契约显性化,减少沟通成本 |
| 文档不同步 | 类型注解即实时文档,不会过时 |


