Python中的typings

Typings是什么

Python 从版本3.5开始支持了typing,也就是类型提示(type hints),算是为开发者解决了一个很头疼的问题。"类型提示",顾名思义就是为开发者提示参数或者返回值的类型。小伙伴们看一下下面的代码:

def calculate_distance(a: Point, b: Point) -> float:
    # 实现过程省略

这个函数非常易懂,它计算两个点之间的距离,返回值类型为float, 而两个参数类型为Point类型。

常见误区

有的小伙伴会误将这个类型提示跟类型检查混为一谈,需要注意的是:虽然Python加入了type hints,但是Python依然是一门动态语言,从根本上跟C++, JAVA这样的强类型静态语言不同,这也注定了Python不可能在运行时做类型检查。理论上讲,Python也能够做运行时类型检查,但是这个代价也太高了,会讲本来就运行慢的毛病让人更加诟病不已。type hints的目的是为了在开发期间,而不是运行期间,提供给开发者检查类型的能力,这个类型的检查主要靠工具例如各种linter,各种IDE以及IDE的插件,例如VS Code, PyCharm等等都对type hints类型提示有良好的支持。

常见用法和例子(来自mypy文档)

变量的类型

# This is how you declare the type of a variable
age: int = 1

# You don't need to initialize a variable to annotate it
a: int  # Ok (no value at runtime until assigned)

# Doing so can be useful in conditional branches
child: bool
if age < 18:
    child = True
else:
    child = False

简单类型的变量,例如int, str, bool, float等等,类型提示的写法如上所示。

内建类型

x: int = 1
x: float = 1.0
x: bool = True
x: str = "test"
x: bytes = b"test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce Jia(上海)

熬夜码字换酒钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值