皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Mypy 0.740 发布,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__ 相关的崩溃
  • 修复增量模式崩溃

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

转自 https://www.oschina.net/news/110712/mypy-0-740-released

分享到:更多 ()