Bootstrap

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
    
  • 提供更好的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()

  • 帮助找出潜在的错
;