Facebook 调查显示:越来越多的人开始采用带类型的 Python,以提升代码质量和灵活性

  • 2026-01-09
    北京
  • 本文字数:1063 字

    阅读完需:约 3 分钟

Facebook 2025年Python类型调查在 1200 多名受访者中进行,重点介绍了 Python 开发人员如何以及为什么越来越多地采用该语言的类型提示系统。该调查还揭示了开发者最看重的东西,以及他们最大的挫折和愿望。

 

总体而言,86%的受访者表示他们“总是”或“经常”在代码中使用类型提示,其中具有 5-10 年 Python 经验的开发人员的采用率最高。

 

虽然数据显示,类型提示在被调查的样本中被广泛采用,但不排除选择偏差,因为使用类型提示的开发人员可能更有可能做出回应。尽管如此,该调查揭示了使用类型提示的 Python 开发人员的一些有趣趋势。

 

调查结果显示,Python 的类型提示系统已经成为大多数工程师开发的核心部分。[...]我们发现,所有经验水平的玩家对打字的接受程度都是相似的,但也存在一些有趣的细微差别。

 

初级(0-2 年经验)和高级(10 年以上经验)开发人员使用类型提示的频率都较低,分别为 83%和 80%。该调查的作者认为,初级开发人员面临更陡峭的学习曲线,而高级开发人员可能正在处理大型遗留代码库,而在这些代码库中采用类型提示更为困难。

 

开发人员列举了采用 Python 类型系统的几个好处,包括更好的可读性和代码内文档,改进的 IDE 和工具支持,早期的错误检测以及增强的信心。他们还强调了高级特性的价值,如协议、泛型和在运行时检查注释的能力。

 

另一方面,受访者指出了一些挑战,包括第三方库中有限的类型提示支持,泛型和修饰符等高级特性的复杂性,以及复杂类型的冗长性增加。其他痛点包括工具碎片化、缺乏运行时强制执行以及难以修改遗留代码。受访者还指出,Python 的类型系统似乎不如其他语言(如 TypeScript)的表达能力强,而且它的快速发展意味着语法和最佳实践在不断变化。

 

调查中另一组有趣的发现涉及改进 Python 类型系统的方法。一些建议包括借鉴 TypeScript 的特性,如交叉类型、映射和条件类型、实用程序类型(如 PickOmitkeyoftypeof ),以及更好的字典结构类型。其他建议侧重于更好地支持泛型和代数数据类型,包括更高级的类型;基于类型提示的可选运行时类型强制和性能优化;改进了对函数包装器和装饰器等模式的处理,支持动态属性;等等。

 

在工具方面,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/