Python的类型注解

104 阅读1分钟

Python的类型注解是提示性的,并不是强类型注解,只是用来做代码提示和类型推断的

语法有如下两种:

  1. 变量: 类型
  2. 在注释中, # type: 类型

基础数据类型的注解

var_1: int = 10
var_2: str = "我是字符串"
var_3: bool = True

类对象的注解

class Student:
    pass
    

stu: Student = Student()

基础容器类型注解(简写)

my_list1: list = [1, 2, 3]
my_tuple1: tuple = (1, 2, 4)
my_dict1: dict = {"key": 12332}

基础容器类型注解(详细)

my_list2: list[int, str] = [1, 3, "hhjjjj"]
my_tuple2: tuple[int, str, bool] = (1, "ssss", False)
my_dict2: dict[str, int] = {"key": 12332}

在注释中使用类型注解

var_4 = random.randint(1, 100)  # type: int

函数的形参类型注解和返回值的类型注解

def add(x: int, y: int) -> int:
    return x + y


add(1, 3)

联合类型注解 Union

my_list3: list[Union[int, str, bool]] = [1, "fdsaf", True]

def func(data: Union[int, str]) -> Union[int, str]:
    return data


func(1)
func("dfffffdffff")