Python type checker: Mypy 介紹
Python 3.5 之後推出 1 個稱為 typing 的模組,讓開發者可以針對程式碼中的參數、變數、屬性等做型別註釋,提高團隊協作能力,避免大家在閱讀程式碼時不知道參數/變數/屬性的資料長怎樣,例如 def func(x)
加上型別註釋之後,變成 def func(x: str)
就好懂很多,所以很多成熟的 Python 套件也都會盡量使用 typing 模組友善開發者。
typing 的誕生也催生多個 Python 生態系的 type checker 專案,讓開發者可以藉由 type checker 找出程式中可能存在的錯誤,例如明明 type annotation 是 int 的參數,我們卻傳進去 str ,就是一種可能存在的錯誤(但不一定會造成例外錯誤),減少這種錯誤,也可以增加程式碼的穩固性,避免非預期的錯誤發生。
我個人也是使用 Mypy 作為開發時的 type checker ,我們也有 1 篇文章中有提到 mypy ,但沒有「Python type checker:Mypy 介紹」這篇文章介紹得好,有興趣可以閱讀該文,該文也有提供幾個不錯的 type checker 可以參考,說不定就有適合你的 type checker!