
作者 | Sergio De Simone
譯者 | 劉雅夢
策劃 | 丁曉昀
Facebook 2025 年 Python 類型調查 在 1200 多名受訪者中進行,重點介紹了 Python 開發人員如何以及為什么越來越多地采用該語言的類型提示系統。該調查還揭示了開發者最看重的東西,以及他們最大的挫折和愿望。
總體而言,86% 的受訪者表示他們“總是”或“經常”在代碼中使用類型提示,其中具有 5-10 年 Python 經驗的開發人員的采用率最高。
雖然數據顯示,類型提示在被調查的樣本中被廣泛采用,但不排除選擇偏差,因為使用類型提示的開發人員可能更有可能做出回應。盡管如此,該調查揭示了使用類型提示的 Python 開發人員的一些有趣趨勢。
調查結果顯示,Python 的類型提示系統已經成為大多數工程師開發的核心部分。[...] 我們發現,所有經驗水平的玩家對打字的接受程度都是相似的,但也存在一些有趣的細微差別。
初級(0-2 年經驗)和高級(10 年以上經驗)開發人員使用類型提示的頻率都較低,分別為 83% 和 80%。該調查的作者認為,初級開發人員面臨更陡峭的學習曲線,而高級開發人員可能正在處理大型遺留代碼庫,而在這些代碼庫中采用類型提示更為困難。
開發人員列舉了采用 Python 類型系統的幾個好處,包括更好的可讀性和代碼內文檔,改進的 IDE 和工具支持,早期的錯誤檢測以及增強的信心。他們還強調了高級特性的價值,如協議、泛型和在運行時檢查注釋的能力。
另一方面,受訪者指出了一些挑戰,包括第三方庫中有限的類型提示支持,泛型和修飾符等高級特性的復雜性,以及復雜類型的冗長性增加。其他痛點包括工具碎片化、缺乏運行時強制執行以及難以修改遺留代碼。受訪者還指出,Python 的類型系統似乎不如其他語言(如 TypeScript)的表達能力強,而且它的快速發展意味著語法和最佳實踐在不斷變化。
調查中另一組有趣的發現涉及改進 Python 類型系統的方法。一些建議包括借鑒 TypeScript 的特性,如交叉類型、映射和條件類型、實用程序類型(如Pick、Omit、keyof和typeof),以及更好的字典結構類型。其他建議側重于更好地支持泛型和代數數據類型,包括更高級的類型;基于類型提示的可選運行時類型強制和性能優化;改進了對函數包裝器和裝飾器等模式的處理,支持動態屬性;等等。
在工具方面,MyPy 仍然是首選的類型檢查器,采用率為 58%,緊隨其后的是 Pyright/Pylance。新的基于 Rust 的類型檢查器(如 Pyrefly、Ty 和 Zuban)越來越受歡迎,被超過 20% 的受訪者使用。Visual Studio Code 是最常見的 IDE,其次是 PyCharm 和 Vim/Neovim。
這項調查中還有更多內容無法在此一一介紹。請務必閱讀原始文章以獲取全部詳細信息。
https://www.infoq.com/news/2026/01/facebook-typed-python-survey/
聲明:本文為 InfoQ 翻譯,未經許可禁止轉載。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.