Facebook调查显示:越来越多的人开始采用带类型的Python,以提升代码质量和灵活性
Source: InfoQ - Backend
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/