内容简介:Mypy 0.740 已经发布了,此版本包括许多特性、错误修复和 library stub 更新。Mypy 是处于实验性阶段的 Python 静态类型检查器,旨在结合动态类型和静态类型的优点,将 Python 的表现力和便利性与强大的类型系统和...
Mypy 0.740 已经发布了,此版本包括许多特性、错误修复和 library stub 更新。Mypy 是处于实验性阶段的 Python 静态类型检查器,旨在结合动态类型和静态类型的优点,将 Python 的表现力和便利性与强大的类型系统和编译时(compile-time)类型检查相结合,提供编译时的类型检查和高效地编译为原生代码,无需使用重量级和耗费 runtime 开销的 Python 虚拟机。更新内容如下:
str.format 调用的类型检查
在此版本中,对字符串文本的 format 方法的调用将根据格式字符串语法的规则(format string syntax)和格式规范 mini 语言进行类型检查。同时修复了 % 格式的部分错误问题,并允许字节和字符串之间的错误交互。下面是 Mypy 现在可以捕捉到的一些错误:
- 无效的格式字符串语法
- 无效的转换类型或说明符
- 不正确的参数或字段名
- 数字格式的类型不匹配
- 索引或属性表达式中的类型错误
改进 check_untyped_defs
此版本中,在使用 check_untyped_defs 时,能够正确地给出对象的类型,对非类型化方法进行更好的检查。此外,禁止在非类型化函数中分配空集合(即data=[ ] )造成的大多数“needs type annotation”错误。
严格处理上下文管理器对象
Mypy 0.730 增加了对使用从 __exit__ 返回类型中使用文字类型的支持,以确定 with 语句是否有可能隐藏异常,这可能影响 Mypy 在 with 语句之后是否认为代码是可访问的。为了更好地定位由此引起的问题的来源,当声明的 __exit__ 方法返回布尔但始终返回 false 时,Mypy 会报出错误。
其他的改进和 bug 修复
- 为 pathlib.Path.open 提供更好的类型
- 将 __class_getitem__ 作为一个隐式类方法,类似于 __init_subclass__
- att.s 支持 eq 和 order 参数
- 修复 Mypy 守护进程中的崩溃
- 修复与__getattr__ 和 __call__ 相关的崩溃
- 修复增量模式崩溃
除了上述的更新内容,还其他内容,详情请查看发布主页。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- python—静态类型检查
- 静态代码检查工具 cppcheck
- Flow 静态类型检查开发环境搭建
- 使用Typescript给JavaScript做静态类型检查
- Saluki: 使用静态属性检查查找污点风格的漏洞
- React Native 工程中 TSLint 静态检查工具的探索之路
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。