typing
是 Python 的一个标准库模块,用于支持类型提示(Type Hints)。
- 类型提示允许你在代码中显式地声明变量、函数参数和返回值的类型,从而提高代码的可读性和可维护性。
- 虽然 Python 是一种动态类型语言,但类型提示可以帮助开发人员更好地理解代码。
- Python 本身不会强制执行这些类型检查,但借助 mypy 等静态类型检查工具,可以进行静态类型分析,帮助发现潜在错误。
如:为函数参数和返回值添加类型注解。
from typing import List, Dict def process_data(data: List[Dict[str, int]]) -> int: return sum(item['value'] for item in data)
一、 typing的优势
- 提高代码可读性
类型提示可以让其他开发者更快的理解你的代码,知道函数函数参数和返回值的类型。
# 有类型提示
def add(a:int, b:int) -> int:
# 业务逻辑
return a + b
- 提供更好的IDE支持
Python中变量默认是Any类型,这种类型在用IDE时不会得到类型提示和自动补全。许多IDE(如Pycharm、VS Code等)都支持Python类型提示,可以提供更好的自动完成和错误检查功能。
class Teacher:
def say(self) -> None:
print("I'm a teacher")
def get_name(self) -> str:
return '王老师'
class Student:
def __init__(self, teacher: Teacher):
self._teacher = teacher
def say(self):
print("I‘m a student")
def get_teacher_name(self) -> str:
# 如果无法确定teacher的类型,则IDE拿不到get_name方法的提示。
self._teacher.get_name()
- 帮助找出潜在的错