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()
    
    
  • 帮助找出潜在的错误
  • 通过静态类型检查工具(如pylance、mypy等),可以在运行代码之前就找出潜在的类型错误。

    作者:atom goper

    物联沃分享整理
    物联沃-IOTWORD物联网 » python高级用法之typing类型提示

    发表回复