歡迎您光臨本站 註冊首頁

Mypy 0.740 發布,Python 靜態類型檢查工具

←手機掃碼閱讀     admin @ 2019-10-21 , reply:0

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__ 相關的崩潰
  • 修復增量模式崩潰

除了上述的更新內容,還其他內容,詳情請查看發布主頁


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/110712/mypy-0-740-released
Mypy 0.740 發布,Python 靜態類型檢查工具已經有183次圍觀

http://coctec.com/news/all/show-post-217272.html