编译 | 苏宓

出品 | CSDN(ID:CSDNnews)

要说当下最热门的编程语言,非 Python 莫属。根据每月更新的 TIOBE 编程语言排行榜,Python 以 26.14% 的使用率稳居第一,几乎是第二名 C++ 的三倍。

那么,究竟是谁在使用 Python?用它来干什么?这门语言里有哪些好用的工具?以及其生态发展如何了?

日前,Python 软件基金会(PSF)联合 JetBrains 发布了第八次 Python 开发者调查报告。这也是迄今为止规模最大的一次,共有超过 3 万名开发者参与。值此,JetBrains 官方网站也刊登了一篇由 Talk Python 创始人兼 PSF 研究员 Michael Kennedy 撰写的深度解析文章。接下来,就让我们通过 Michael Kennedy 的解读,一同了解本次调查所揭示的 Python 生态最新趋势

2025 年 Python 的主要趋势

超过八成开发者把 Python 当主力语言

根据调查显示,有 86% 的受访者将 Python 作为编写计算机程序、构建应用程序、创建 API 等的主要语言。

当然,也有不少开发者喜欢把 Python 搭配其他编程语言一起使用,如 JavaScript、HTML/CSS、SQL 等。

其中在以 Python 为主要语言的受访者中,有 40% 的人使用 JavaScript,而 Python 次要语言群体中,这一比例上升到 43%。紧随其后的是 HTML,分别为 37% 和 35%,SQL 也同样受欢迎,分别为 37% 和 30%。 

Python 用户大多是编程新手

要问究竟是谁在用 Python?

对于那些有多年编程经历的人而言,很容易假设业内的大多数开发者都拥有丰富的经验。

然而,调查结果揭示的事实却并非如此。

数据显示,有 50% 的受访者的职业编程经验不足两年;其中,39% 的人使用 Python 的时间不到两年(包括在兴趣爱好或教育环境中的使用)。

这个结果再次证明了 Python 对职业早期的开发者非常友好。它简单(但不肤浅)的语法和易上手的特性,对新手和有经验的开发者都很有吸引力。许多人热爱编程和 Python,并乐于将其分享给社区的新成员。

数据科学现在占据 Python 使用的一半以上

今年,有 51% 的受访 Python 开发者表示自己主要从事数据探索与处理工作,其中 pandas 和 NumPy 是使用最广泛的工具。

过去,Python 社区常常将其应用领域划分为“三分天下”:约三分之一用于 Web 开发,三分之一用于数据科学与科学计算,剩余的三分之一则归入“其他”类别。

然而,这种划分方式如今已难以准确反映现实。随着数据科学的份额大幅提升,这一领域已经占据了绝对的主导地位。

这种趋势不仅源于当前数据与人工智能的热潮,也得益于新工具的快速涌现。例如,Polars(高性能数据处理)、Marimo(新一代 Notebook 交互方式)、以及一系列面向大语言模型、视觉模型和智能体的开发包/框架(如 Transformers、Diffusers、smolagents、LangChain/LangGraph、LlamaIndex)正在不断推动 Python 生态演进。

可以说,Python 的重心正进一步向数据与 AI 倾斜

尽管新版本有好处,大多数人仍在使用旧版本 Python

调查显示,Python 运行时版本在最新版本与旧版本之间分布不均。15% 的开发者使用最新发布的 Python,但大多数人(83%)仍在使用一年或更久前的版本。甚至还有 4% 的受访者仍在使用 Python 2。

调查还发现,很多人明明已经在用 Docker 或容器来运行代码,但依然选择了旧版本的 Python——这让 83% 的人没有用最新版的结果显得更意外。

要知道,容器的好处就是可以把运行环境“装在一个盒子里”,和系统自带的 Python 互不干扰。换句话说,哪怕系统里还是旧版本,在容器里完全可以轻松使用最新的 Python,既安全又方便。照理说,用了容器的人,升级到最新版应该更容易才对。

那么,为什么大家还没升级到最新 Python 呢?调查显示主要有两个原因:

  1. 现有版本满足我的需求(53%)

  2. 没有时间去更新(25%)

然而,Michael Kennedy 认为,使用旧版本的开发者可能错过了很多机会。不仅仅是语言特性(如 except 关键字)或标准库的小改进(如 tomllib),Python 3.11、3.12 和 3.13 都带来了显著性能提升,3.14 将带来更多。

令人惊讶的是,这些优势无需修改代码。只要选择新版运行时,你的代码就能跑得更快。CPython 在向后兼容方面表现非常出色,升级几乎不需额外工作。

对此,Michael Kennedy 举几个数字:

  • 目前 48% 的人使用 Python 3.11。升级到 3.13 后,代码端到端运行速度可提升约 11%,内存使用减少约 10–15%

  • 如果他们属于 27% 仍在使用 3.10 或更早版本的人,代码速度可提升约 42%(无需修改代码),内存使用可下降 20–30%

有些人可能会说:“够快了,我们流量不大。”但对中大型企业来说,这意味着大量云计算成本浪费(同时也带来能源消耗和环境影响)。

Michael Kennedy 表示,一些研究显示云计算开销(特别是计算型实例)大致如下:

中型企业:

  • AWS 年度账单总额(中位数):约 230 万美元/年

  • EC2(计算实例)支出占比(约 50–70%):每年约 115 万至 160 万美元

大型企业:

  • AWS 年度总账单:约 2400–3600 万美元/年(即每月 200–300 万美元)

  • EC2 占比(约 50–70%):每年约 1200–2500 万美元

如果假设他们使用的是 Python 3.10,那么分别可能节省 42 万美元和 560 万美元(按 EC2 成本的 30% 计算)。

除了财务和环境因素,升级还意味着可以使用最新语言特性,与核心开发者的工作保持同步。对此,Michael Kennedy 奉劝道,大家一定要把升级作为优先事项。

Python Web 开发的回归

过去几年,有观点认为 Python 生态中的 Web 开发重要性在下降。这可能受两股强大力量影响:

  1. 随着更多数据科学和 AI 背景的开发者加入 Python 社区,相对稳定的 Web 开发者人数占比下降;

  2. Web 依然以前端为主,而在浏览器中运行 Python 还未成为现实,Web 开发者自然更倾向使用 JavaScript。

从 2021–2023 年的数据来看,这一趋势确实呈下降态势:45% → 43% → 42%。但今年,Web 开发回来了!

受访者报告称,2024 年有 46% 的人使用 Python 做 Web 开发。为了进一步佐证这一趋势,我们还看到 Web “辅助语言”的使用也相应上升:HTML/CSS 使用增长 15%,JavaScript 增长 14%,SQL 增长 16%。

Python Web 框架中最大的赢家是 FastAPI,使用率从 29% 跳升至 38%,增长约 30%。虽然所有主流框架都在逐年增长,但 FastAPI 的近 30% 跳升尤为显眼。

对此,Michael Kennedy 推测,这部分原因是大量 Python 新手涌入社区,其中很多人来自 ML/AI/数据科学领域,他们往往没有多年使用 Flask 或 Django 的经验,因此更可能选择当前最热门的 Python Web 框架——FastAPI。现在也有很多案例是将 ML 模型通过 FastAPI API 对外提供服务。

除此之外,异步友好的 Python Web 框架趋势也在继续发展。其中,Django 在稳步增加异步功能,几乎完成,但截至 5.2 版本,其数据库层还需进一步优化,官方表示:“我们仍在为 ORM 及 Django 的其他部分完善异步支持。”

Python Web 服务器向异步和 Rust 工具转移

值得一提的是,用于生产环境的 Python Web 应用和 API 服务器也在发生变化。Michael Kennedy 分享了他观察到的两股趋势:

  1. 异步框架的推广要求应用服务器支持 ASGI,而不仅仅是 WSGI;

  2. Rust 在加速 Python 代码执行方面愈发重要。

去年这一领域最大的变化是 uWSGI 的完全消亡

同时,我们也看到 Gunicorn 在处理异步工作负载方面逐渐被原生异步服务器取代,如 uvicorn 和 Hypercorn,它们可以独立运行。基于 Rust 的新兴服务器,如 Granian,也获得了稳定的用户群体。

Rust:Python 性能加速的利器

过去几年,Rust 已成为 Python 的性能“副驾驶”。2025 年 Python Language Summit 揭示:“在上传到 PyPI 的新项目原生代码中,大约有四分之一到三分之一使用 Rust”,说明“开发者正选择使用 Rust 启动新项目”。

从调查结果来看,Python 包的二进制扩展中 Rust 的使用率从 27% 增长到 33%。

在生态系统中,这一趋势可以通过 Polars(数据科学)和 Pydantic(几乎所有领域)的成功体现出来。甚至在 Python 应用服务器中,如新兴的 Granian,也能看到 Rust 的应用。

Typed Python 工具正在完善

今年的另一个重要趋势是 Typed Python(类型化 Python)。你可能见过 Python 函数定义中的类型信息,例如:

def add(x: int, y: int) -> int: ...

类型标注在 Python 中已经存在一段时间了,但现在有一股新趋势正在推动 Typed Python 更加普及和宽容。自从 typing 模块早期以来,我们就有了 mypy 等工具,但它们主要关注整个程序的一致性。而在过去几个月里,出现了两个新的高性能类型检查工具:

  • ty(来自 Astral)——一款极快的 Python 类型检查器和语言服务器,用 Rust 编写

  • Pyrefly(来自 Meta)——一款更快的 Python 类型检查器,也用 Rust 编写

这两个工具都在争夺下一代类型检查工具的位置,同时提供极快的语言服务器协议(LSP)。

注意到相似之处了吗?它们都是用 Rust 写的,这也印证了之前提到的“Rust 已成为 Python 的性能副驾驶”。

代码和文档构成大部分开源贡献

开源贡献的方式多种多样。大多数人想到的贡献者,通常是写代码、添加新功能的人。然而,还有一些不那么显眼但同样重要的贡献方式,比如处理 issue 或审查 pull request。

调查显示,约三分之一的开发者参与了开源贡献,主要以代码和文档/教程的形式体现。

PostgreSQL:Python 开发者的数据库之王

当被问到选择哪个数据库时,受访者绝大多数选择 PostgreSQL。PostgreSQL 是 Python 数据库的王者,且使用率持续增长,从 43% 增至 49%,同比增长 14%,对于一个有 28 年历史的开源项目而言非常惊人。

有趣的是,除了 PostgreSQL 使用率高之外,排名前六的数据库使用率均同比增长,这也进一步表明 Web 开发正在回暖。

前瞻趋势预测

在解读文章中,Talk Python 创始人兼 PSF 研究员 Michael Kennedy 也给出了三大前瞻趋势预测:

Agentic AI 将带来变革

第一个前瞻趋势是 Agentic AI 将成为编程的游戏规则改变者。Agentic AI 经常被视为“vibe coding”的工具,既被爱也被诟病。但实际上,当与有才华的工程师或数据科学家结合使用时,Agentic AI 工具的生产力非常可观。

PSF 调查之外的数据显示,约 70% 的开发者在 2023 年使用或计划使用 AI 编程工具,到 2024 年,约 44% 的职业开发者每天使用

JetBrains 《2023 年开发者生态状况报告》指出,在几年内,“基于 AI 的代码生成工具已从有趣的研究,发展为许多开发者工具箱中的重要组成部分”。跳到 2025 年,根据《2025 年开发者生态状况调查》,近半数受访者(49%)计划在未来一年尝试 AI 编程代理

对此,不少大型科技公司项目经理表示,他们几乎无法招聘不使用 Agentic AI 的开发者,因为使用者与不使用者之间的生产力差距太大(估计使用 AI 可提高约 30% 的生产力)。

Async、await 和多线程将成为 Python 核心

Python 的未来将充满并发。如今,Python Web 框架和应用服务器向异步执行的趋势,但这只是强大趋势的一部分。

Python 3.14 将成为首个完全支持自由线程(free-threaded)Python 的版本。自由线程 Python 是指不使用 GIL(全局解释器锁)的 Python 运行时,最早在 CPython 3.13 中作为实验引入。

就在上周,指导委员会和核心开发者正式将其纳入语言和运行时的永久特性。这将产生深远影响:开发者和数据科学家需要更仔细地考虑带锁的多线程代码、竞态条件以及由此带来的性能优势。特别是拥有原生扩展包的维护者,可能需要重写部分代码以支持自由线程 Python,避免自身陷入竞态条件和死锁。

这一变化的潜在好处巨大。Michael Kennedy 列举了一个贴近现实的例子,他表示,其目前使用的是最便宜的 Apple Mac Mini M4,它有 10 个 CPU 核心。在自由线程 Python 推出前,单个 Python 进程的最大性能只能达到机器实际能力的 10%。一旦自由线程 Python 完全应用,使用多线程、async 和 await 的标准 Python 程序应能接近最大性能。

Async 和 await 不仅仅是 Web 开发者用来写更并发代码的工具,它们出现在越来越多的场景中。例如 Temporal 工具,它利用 asyncio 事件循环,但用持久执行代替传统线程技巧。你只需 await 某个操作,背后便实现了跨机器的持久执行,即使机器重启也能继续。

Python GUI 与移动开发正在崛起

第三个前瞻趋势是 Python GUI 和移动端 Python 正在崛起。

谈到 iOS 和 Android 原生应用,现在大家只能靠梦想有一天能用 Python 来构建它们。

不过,在 2025 年 Python Language Summit 上,Russell Keith-Magee 展示了他在让 iOS 和 Android 成为 CPython Tier 3 支持平台方面的工作,这已在 PEP 730 和 PEP 738 中阐述。这是实现用 Python 编写并发布到应用商店的原生应用的必要条件,但还不够充分。

更广泛来看,Python 界对 UI 的探索也有不少新尝试。fast.ai 的 Jeremy Howard 推出了 FastHTML,允许大家用纯 Python 构建现代 Web 应用。NiceGUI 也越来越受欢迎,是用纯 Python 编写 Web 应用和 PWA 的优秀方式。

对此,Michael Kennedy 预计这些变化,尤其是移动端的进展,将解锁强大的应用场景,未来几年仍会持续被讨论。

给 Python 程序员一些可落地的行动建议

最后,Michael Kennedy 也为 Python 开发者提供了一些可操作的建议,帮助大家抓住这些技术和开源浪潮的机会。

建议一:学习 uv

uv(https://astral.sh/uv/)是一款出色的 Python 管理工具。自推出以来,其使用率从 0% 激增至 11%,与此同时,它还在 2025 年仍持续快速增长。这个基于 Rust 的工具整合了很多重要功能,同时拥有高性能和强大特性。

如果你想要把 Python 安装在本机,只需运行:

uv venv venv

即可同时安装最新稳定版并创建虚拟环境。安装 uv 时,建议使用它的独立安装器,这样 uv 可以自我管理并不断优化。

建议二:使用最新 Python

根据调查结果显示,83% 的受访者没有使用最新版本 Python。那么,不要成为其中之一。使用虚拟环境或容器安装最新版本 Python。最快最方便的方式是用 uv,这不会影响系统 Python 或其他配置。

如果你在 Docker 容器中开发或部署,只需设置最新 Python 3.13 并运行:

RUN curl -LsSf https://astral.sh/uv/install.sh | shRUN uv venv --python 3.13 /venv

如果你在本地虚拟环境开发,那就去掉 RUN 关键字,用 uv 创建环境即可。记得在 Python 发布新大版本时更新版本号。通过这一步,你可以充分利用现代 Python 的性能和语言特性。

建议三:学习 Agentic AI

如果你还没尝试过 Agentic AI,强烈建议亲自体验。其实,有很多人想要避开 AI 和 LLM,理由也很充分,如版权问题存在争议、环境影响真实、且可能威胁开发者工作和自主性。但使用顶级模型进行 Agentic AI,而非仅仅聊天机器人,可以显著提高生产力。

对此,Michael Kennedy 并不推荐 vibe coding(氛围编码)。但如果你想要借助某个库或工具、命令行来自动化工作中的简单部分,其实直接把它交给 Agentic AI 就行,你无需增加主应用的技术债,同时提高工作效率。

另一个很多人常犯的错误是使用最便宜的免费模型。当模型效果不佳时,他们就会以此为证据,说:“看,它没什么用。它只会胡编乱造,把事情搞砸。” 所以,尽可能地选择好的模型,如果你想认真尝试一下,可以花 10–20 美元体验一个月,看看模型的实际可能性。

建议四:学会读基础 Rust

Python 开发者应考虑学习 Rust 基础,不是替代 Python,而是互补。正如报告中提到的,Rust 在 Python 生态中越来越重要。你不必成为 Rust 开发者,但能读懂基本 Rust,了解你所使用库的内部工作原理,将是一项有价值的技能。

建议五:深入理解多线程

Python 开发者大多在多线程和并行编程方面经验有限。Python 3.6 引入了 async/await,但主要用于 I/O 并发,例如调用 Web 服务时使用 HTTPX 并 await 调用,这种并发避免了大部分竞态条件问题。

现在,真正的并行线程即将到来。随着 PEP 703 在 Python 3.14 中正式接受,我们需要理解线程、锁、信号量和互斥量的工作原理。

这将是一项挑战,但也是显著提升 Python 性能的机会。

在 2025 Python Language Summit 上,约三分之一的演讲涉及并发和线程,这无疑是未来趋势的前瞻信号。当然,并非所有程序都会涉及并发或线程,但它们会足够普遍,因此掌握基础概念非常重要。

建议六:关照新手

最后,Michael Kennedy 建议道,无论你是在构建项目、写文章,还是分享包、库和工具时,都要考虑初学者的存在,方便他们使用、学习。因为报告显示,Python 开发者中有一半使用 Python 不到两年,而且大多数人在任何编程形式上的经验也不足两年。

因此,当你走向世界去演讲、撰写文章或创建工具时,请记住不要假设大家已经拥有多年共享经验,比如如何管理多个 Python 文件、使用虚拟环境、固定依赖版本等等。

以上便是此次报告的亮点内容,查阅完整报告可详见:https://lp.jetbrains.com/python-developers-survey-2024/#

推荐阅读:

CEO一刀裁掉80%员工,只因他们“抗拒AI”?「大换血」两年后:公司年入破亿、4天就出成果

李建忠:关于AI时代人机交互和智能体生态的研究和思考

写代码写出26亿身家、“淘宝第一个程序员”多隆离职后重出江湖,加入老同事创企,“杀入”AI赛道!

【活动分享】2025 全球机器学习技术大会(ML-Summit)北京站将于 2025 年 10 月 16-17 日在北京威斯汀酒店举办。大会共 12 大主题、50+ 海内外专家,聚焦大模型技术和应用变革。详情参考官网:https://ml-summit.org (或点击原文链接)。

Logo

为开发者提供按需使用的算力基础设施。

更多推荐