python类型注解详解,Python3 之类型注解

0 引言:定义一个线段

假设我们使用 Python 实现数学中的整点线段的概念,即 $L = [a,b]$, 且 $a,b \in Z$。使用 Python 可以这样写:

类 LineSegment 模拟了线段的形态与长度。但是,这样的写法是不是有点繁琐?为了更加人性化,Python 提供了 typing 模块,让我们可以对代码进行注解。

1 typing 注解 Python

如果想要声明函数参数和返回值的类型,您可以这样做:

这就是被称为 function annotation 的写法。使用冒号 : 加类型名来代表参数的类型,使用箭头 -> 加类型表示返回值的类型。注解部分不会被 Python 解析器所解析。只是一种注解的方式,类似于:

注意:由于 Python 是动态语言,所以注解是对函数参数和返回值的“注释”,没有强制定义的作用。

比如,您像这样 add(1.2, 3.0) 传入参数,Python 解释器并不会报错。

输出结果并没有报错:

1.1 使用 inspect 检查 python 对象的类型

如果您想要让 Python 对类型进行检查,可以借助模块 inspect。比如:

如果对函数的参数进行检查呢?这个需要借助 sig=inspect.signature:

输出结果:

接着,可以直接获取函数的信息:

输出结果:

Parameter 是 inspect 下的一个类,可以把它看做是一个有序字典,里面存放了函数的参数

你可能感兴趣的:(python类型注解详解)