Python的类型注解是提示性的,并不是强类型注解,只是用来做代码提示和类型推断的
语法有如下两种:
- 变量: 类型
- 在注释中, # 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")