python高级用法之typing类型提示
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
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()
通过静态类型检查工具(如pylance、mypy等),可以在运行代码之前就找出潜在的类型错误。
作者:atom goper