Mypy 0.740 发布,Python 静态类型检查工具

栏目: 软件资讯 · 发布时间: 5年前

内容简介: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__ 相关的崩溃
  • 修复增量模式崩溃

除了上述的更新内容,还其他内容,详情请查看发布主页


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Software Engineering for Internet Applications

Software Engineering for Internet Applications

Eve Andersson、Philip Greenspun、Andrew Grumet / The MIT Press / 2006-03-06 / USD 35.00

After completing this self-contained course on server-based Internet applications software, students who start with only the knowledge of how to write and debug a computer program will have learned ho......一起来看看 《Software Engineering for Internet Applications》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器