Python类型注释

  • 基本类型注释

    # 变量名后面用 ":" 表示类型注释
    string_val :str = ""
    int_val :int = 0
    float_val :float = 0.0
    dic_val :dict = dict()
    list_val :list = list()
    tuple_val :tuple = tuple()
  • 函数形参&结果注释

    # 形参名后面用 ":" 表示类型注释,输出结果用 "->" 表示类型注释
    def test(arg1:str, arg2:int, arg3:str=None)->list:
     pass
  • typing模块

    • 介绍

      # typing模块是python3.5之后引入的,是python内置库,旨在提供更方便,更强大的类型注释功能。
    • 基本typing注释

      from typing import List, Tuple, Dict, Union, Optional, Callable, Iterable

      list_val :List[str] = list()  # 列表,列表值是字符串
      tuple_val :Tuple[int,str] = tuple()  # 元组,第一个值是int,第二个值str
      dict_val :Dict[str,int] = dict()  # 字典,键是str,值是int
      union_val:Union[str,int,None] = None  # 这个值是str或int或None
      opt_val : Optional[str] = None  # Optional[X] is equivalent to Union[X, None].
      callable_val :Callable   # 可调用对象,即可以加"()"执行。
      iter_val:Iterable  # 可迭代对象

      # 带"[]"的类型注释,可以随意组合,得到想要的类型注释。
    • 类名注释

      # 自定义的类也可以认为是一种类型,可以用来做注释
      # 举例:
      from typing import List

      class Test:
       pass

      obj :Test = Test()  # 表示obj是Test类创建的实例
      obj_list :List[Test] = []  # 表示obj是由Test类的实例组成的列表

      # 当实例是 动态生成的 或 存在于嵌套的数据结构中 时,不写类名注释往往会失去代码提示,使用实例属性和方法时,麻烦且容易出错。

     

     

     

     

     

     

posted on 2024-07-15 09:56  CJTARRR  阅读(5)  评论(0编辑  收藏  举报