Python Type Hints

本文最后更新于:2021年10月24日 下午

Python Type Hints

Python是一门不注重类型转换的语言,不像C++那样需要进行显式类型声明,这样在程序编写的过程中或许会更方便,但是在debug的时候就可能会很麻烦了,所以Python在3.5版本中引入了Type Hints。

Type Hints指的是在Python中显式提示某个变量的类型,可以翻译为类型提示,假如用错了类型,IDE就会有提示,能够让开发者更加方便地找到错误。

Type Hints的写法如下:

1
2
3
4
5
变量名: 类型  # 1
变量名: 类型 = 值 # 2
# 例子:
def f(x: int = 1, y: str = 2):
pass

对于类型,可以是基本类型、自定义类型、容器类型、可选……,可见下表

类型 说明 备注
int,str,list,dict 可以直接使用的基本类型
List[int],Tuple[str] 指定列表内元素的类型 要from typing import
Dict[str, ...] 指定字典键值对的类型 要from typing import
*args: str,**kwargs: str 规定可变参数是固定类型
Union[int, str, bool] 接受某几种类型 要from typing import
Optional[int] 接受某种类型或者None 要from typing import
Any 接受所有类型 要from typing import
Callable[[参数类型], 返回类型] 接受可调用类型 要from typing import

假如类型太长了,可以使用别名

1
2
3
4
config: List[Tuple[str, int], Dict[int, int]] = [...]
# 上面这条语句和下面这条等价
Config = List[Tuple[str, int], Dict[int, int]]
config: Config = [...]

参考文献

Python Type Hints 从入门到实践 (qq.com)