前言
typing 是在 python 3.5 才有的模块
前置学习
Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html
常用类型提示
https://www.cnblogs.com/poloyy/p/15150315.html
类型别名
https://www.cnblogs.com/poloyy/p/15153883.html
NewType
https://www.cnblogs.com/poloyy/p/15153886.html
Callable
https://www.cnblogs.com/poloyy/p/15154008.html
TypeVar 泛型
https://www.cnblogs.com/poloyy/p/15154196.html
Any Type
https://www.cnblogs.com/poloyy/p/15158613.html
Union
联合类型
Union[int, str] 表示既可以是 int,也可以是 str
等价写法
vars: Union[int, str] # 等价于 vars: [int or str] vars: Union[int] # 等价于 vars: int
union 等价写法
Union[int] == int
最终 Union[int] 返回的也是 int 类型
Union[int, str, int] == Union[int, str]
重复的类型参数会自动忽略掉
Union[int, str] == Union[str, int]
自动忽略类型参数顺序
Union[Union[int, str], float] == Union[int, str, float]
union 嵌套 union 会自动解包