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

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

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

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


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

查看所有标签

猜你喜欢:

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

Concepts, Techniques, and Models of Computer Programming

Concepts, Techniques, and Models of Computer Programming

Peter Van Roy、Seif Haridi / The MIT Press / 2004-2-20 / USD 78.00

This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them p......一起来看看 《Concepts, Techniques, and Models of Computer Programming》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具