2017 年末,Python 软件基金会与 JetBrains 一起开展了 Python
开发人员调查,目标是确定最新趋势,并深入了解 Python
在开发界的使用情况。

澳门葡萄京官方网站 1

结果显示,有 4/5 的 Python 使用者将 Python 作为他们的主要语言,这 4/5
中又有一半的人还同时使用 JavaScript。

2018 年球,Python 软件基金会和著名 IDE 开发商 JetBrains
联合进行了第二届 Python
开发人员调查。和第一次调查一样,本次调查旨在关注 Python
的最新趋势并总结 2018 年 Python 开发的发展情况。来自 150
多个不同国家的 20000
多名开发人员参与了此次调查,帮我们勾勒出一个更精准、与时俱进的 Python
社区全景图,包括 Python 在全球各地的使用、开发类型、Python 3
的使用、Python 框架、库和技术,开发工具,就业和工作等方面。

使用 Python 作为辅助语言的受访者更喜欢将其与JavaScript(46%),C / C
++(42%),Java(41%)和 C#(24%)这几门语言搭配使用。

Python 作为主要语言 VS 次要语言

澳门葡萄京官方网站 2

在我们的调查中,84%的 Python 用户使用 Python 作为他们的主要语言,而
16%的用户把 Python 作为第二语言。 在 2017 年,这个分布略有不同:79%
受访者指出他们使用 Python 作为主要语言,21%作为次要语言。

有趣的事实:Python 作为主要语言的使用率比 2017 年的 79%高出 5
个百分点。

Web 开发员 vs 数据科学家:谁将统治 Python?

Python 与其他语言的使用

澳门葡萄京官方网站 3澳门葡萄京官方网站 4

Python 用户中有一半还使用 JavaScript。 2018 年的统计数据与 2017
年的结果非常相似,唯一显著的区别是 Bash / Shell 从 2017 年的 36%增长到
2018 年的 45%。Go 和 SQL 都增长了 2 个百分点,而 C / C ++、Java 和
C#等许多其他语言的占比降低。

与 2017 年一样,使用 Python 作为辅助语言的用户语言细分略有不同,使用
JavaScript 的开发人员略少,但也有不少人使用 C / C ++、Java和 C#。

人们使用 Python 进行什么类型的开发,以及如何进行结合?

澳门葡萄京官方网站 5

使用 Python 的目的是什么?

澳门葡萄京官方网站 6

60% 的用户在家和工作中都会使用 Python,21%
的人将之用于个人、教育或辅助项目,19% 用于工作。

从 DevOps 到机器学习和数据科学,Python 无处不在。
根据去年的一些数据,Python 是增长最快的编程语言。 我们与Stack
Overflow的数据科学家David
Robinson谈论了Python的发展,并了解到它来自数据科学和机器学习的巨大扩展。

用 Python 干什么?

澳门葡萄京官方网站 7

2018 年,使用 Python 做数据分析的用户最多,其次是 web 开发,再次为
DevOps/ 系统管理 / 编写自动化代码、机器学习等。

值得注意的是,用 Python 来做数据分析的人比 Web 开发更多,从 2017 年的
50%增长到 2018 年的 58%。机器学习也增长了 7%。 这些类型的开发比 Web
开发增长更快,Web 开发与前一年相比仅增加了 2 个 %。

2018 年,将 Python
用于教育和多媒体应用开发的占比和去年持平,而网络编程、桌面开发、计算机图形、游戏开发、移动开发的占比同比有所下降。

与 2017 年一样,Web 开发是唯一一个与使用 Python
作为主要语言和辅助语言的人之间存在较大差距的类别,而其他类型的开发差异要小得多。

有趣的事实:

2018 年,有更多的受访者表示他们使用 Python 的用途涉及 DevOps(与 2017
年相比增长了 8%)。对于使用 Python 作为辅助语言的 Python
用户而言,DevOps 已经取代了 Web 开发。

“2017 年 Python
开发人员调查”将数据分析和机器学习结合到一个单一的“数据科学”类别中时,结果显示
27% 的受访者都使用 Python 进行数据科学研究。

对以下活动的参与度

澳门葡萄京官方网站 8

通过这个问题,我们试图更深入地了解受访者在之前的多项选择题中选择的各种开发类型。可以清楚地看到,Python
用于游戏开发主要是业余爱好,而 Web
开发、机器学习、数据分析和软件测试主要是工作所需。

其中,93% 的用户使用 Python 进行软件测试,90% 用户进行 DevOps,87%
用户进行 Web 开发都是出于工作需要。

澳门葡萄京官方网站 9

最常使用 Python 干什么?

澳门葡萄京官方网站 10

在这个问题中,受访者只能选择一个选项。结果表明,Web
开发遥遥领先,把数据分析远远甩在后面。但如果我们仔细观察一下就会发现,机器学习的占比有所增长。如果我们将数据分析和机器学习整合到“数据科学”这一类中,这个数字将达到惊人的
28%。也就是说,用户最常使用 Python 做数据科学相关的任务。

紧跟着是机器学习和 DevOps,2017 年和 2018 年的占比未发生变化,均为 9% vs
11%。

比较使用 Python 作为主要语言与次要语言的趋势,Web
开发两者之间的差距最大(29% vs
17%)。数据分析和机器学习之间没有显著差异。

有趣的事实:

DevOps / 系统管理 / 编写自动化脚本’已经位列 Python
用户使用其作为辅助语言的首位。这一发现与前一节中强调的 Bash / Shell
使用量增加有关。

澳门葡萄京官方网站 11

与 2017 年一样,Web 开发和数据科学仍然是 2018 年 Python
开发的主要类型。不过,我们注意到 Python
中的数据科学作为该语言的其他用途,其受欢迎程度的增长速度要快得多,这可以从多选题“你使用
Python 做什么?”中看出来。

大多数参与此调查的人,似乎都低估了从事数据科学的开发人员的数量。
尽管几年前,网络开发是 Python 的主要应用,但现在情况发生了变化。

Python VS Python 3

澳门葡萄京官方网站 12

我们的问题是:”你最常用的是哪个版本的
Python?”。结果显示,84%的用户表示最常用版本为 Python,远超 Python 2 的
16%。从 2017 年的 75%到 2018 年的 84%,Python 3
的受欢迎程度得到大幅提升。

其中,最受欢迎的 Python 3 版本是 Python 3.6,最受欢迎的 Python 2 版本是
Python 2.7。

有趣的事实:

Python 3 的使用率继续快速增长。根据 2017 年的最新研究,75%的人使用
Python 3,使用 Python 2 的用户比例是 25%。Python 2
的采用率正在下降,因为其不再进行积极开发,没有新功能,并且将会在 2020
年停止维护。

澳门葡萄京官方网站 13

Python 3 的采用率从过年 2013 年的 22%,到 2018 年 10 月已攀升至 84%。

澳门葡萄京官方网站 14

另一个有趣的发现是,只有 82% 主要用于 Web 开发的用户使用 Python
3,而涉及数据科学的 Python 3 采用率上升至 90%。

可能原因:

可能导致这种情况的原因之一是有些开发人员在转换到 Python 3
时仍然需要维护大量遗留代码。另一方面,许多数据分析师和机器学习专家最近加入了
Python 生态系统并开始使用最新的 Python 3。

所以,将数据分析和机器学习相结合组成的“数据科学”领域,与“Web
开发”领域打成了平手。

Python 安装和升级

澳门葡萄京官方网站 15

71%的受访者从 python.org 或 OS 提供的包管理器(如 APT 和 Homebrew)安装
Python。这与 2017 年的结果非常相似。有趣的是,与 2017 年相比,Anaconda
的占比增长了 7
个百分点。这更加明确了数据科学比其他类型的开发类型受欢迎程度增长更快。

调查还显示,使用 Python 的最流行的技术是 Jupyter Notebook,其次是 Docker
和 Anaconda。
详情可以查看这篇文章。

是否使用以下工具隔离 Python 开发环境?

澳门葡萄京官方网站 16

在开发或部署阶段隔离 Python 环境很久以来是一个最佳实践。毫无疑问,pipenv
和较低级别的 virtualenv 是创建和管理新的 Python
环境的两个最常用的工具,64% 的受访者表示会使用这两个工具进行 Python
环境隔离,31% 的用户会使用 Docker,其次是 Conda、Vagrant/
虚拟机和其他。令让人惊讶的是,21%的 Python 用户根本不使用以上工具。

这一部分强调了开发者使用的各种 Python 框架、库和技术的流行度。

原文:Jaxenter 
编译:开源中国

网页框架

澳门葡萄京官方网站 17

受访者中 Flask 的使用量同比增长了 15 个百分点,因此,今年 Flask
意外地成为最受欢迎的 Web 框架。 而 45%的受访者(2017 年为 41%)选择了
Django,Flask 和 Django 加起来就已经占据了 92% 的份额。

数据科学框架和库

澳门葡萄京官方网站 18

不出所料,最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib 和
SciPy。机器学习专用库,如 SciKit-Learn,TensorFlow,Keras
等,也非常受欢迎,这与作为 Python
开发主要类型的机器学习快速发展密切相关。

普通框架和库

澳门葡萄京官方网站 19

在普通框架和库中,不出所料,超过一半的 Python 用户使用了
Requests。Pillow 也非常受欢迎,1/5 用户使用 asyncio。

澳门葡萄京官方网站 20

55%使用云平台的 Python 用户更喜欢 AWS。Google Cloud Platform
排在第二位,其次是 Heroku,DigitalOcean 和 Microsoft
Azure。大约三分之一的受访者不使用任何云解决方案。

除了上面列出的流行的云平台,我们发现 OpenStack 和 Linode 各占
6%,OpenShift 占 3%,Rackspace 占 2%。

除了有关云平台选择的问题之外,我们还提出了一些其他问题,以了解 Python
开发人员如何使用云:

如何在云中运行代码?

澳门葡萄京官方网站 21

在虚拟机上占比 47%,在容器中占比 40%,在 PaaS 上占比 28%,在 Severless
中占比 21%。

开发环境中使用云

澳门葡萄京官方网站 22

56%- 本地虚拟环境35%-Docker 容器24%- 虚拟机17%- 本地系统注释器17%-
远程开发环境9%- 直接在生产环境中

操作系统

澳门葡萄京官方网站 23

令人惊讶的是,近三分之二的受访者选择 Linux
作为他们的开发环境操作系统。请注意,这是个多选题,在这里没有得出主要 OS
流行度的结论。

测试框架

澳门葡萄京官方网站 24image

pytest 在测试框架排名中领先,其次是
unittest。其他测试框架远没那么受欢迎。出乎意料的是,35%的 Python
用户不使用任何测试框架,并且可能没有测试他们的代码。在“创建隔离的 Python
环境的工具”部分中,我们发现大约五分之一的 Python 用户不使用 Python
隔离这一最佳实践。

数据库

澳门葡萄京官方网站 25

大多数人使用免费或开源数据库,如 PostgreSQL,MySQL 或 SQLite MongoDB 和
Redis 等非关系型数据库也非常受欢迎,因为大量的 Python
用户正在进行某种形式的机器学习或数据工程。

ORMs

澳门葡萄京官方网站 26

两个最流行的 ORM 是 SQLAlchemy 和 Django ORM,它们与两个领先的 Web
开发框架:Flask 和 Django 的流行度相匹配。

使用以下哪种大数据工具?

澳门葡萄京官方网站 27

机器学习工程师更有可能使用大型数据工具,这就是为什么
76%的受访者表示没有使用大数据工具。Spark 是大数据工具中的首选,其次是
Hadoop 和 Kafka。

经常使用哪种持续集成系统?

澳门葡萄京官方网站 28

将近一半 Python 用户不使用任何 CI 方案。Python 世界中最受欢迎的三个 CI
解决方案是 Jenkins,Gitlab CI 和 Travis。

配置管理

澳门葡萄京官方网站 29

大多数 Python 用户不使用配置管理工具。在使用配置管理中,最受欢迎的无疑是
Ansible。

编辑和 IDE

为了找到最流行的编辑器和 IDE,我们提出了单选题:“你当前 Python
开发使用的主编辑器是什么?”不到 1%的选项一并归在 Other 下。

澳门葡萄京官方网站 30

PyCharm 是最受欢迎的 Python 开发工具,PyCharm Professional 和 Community
版本的合计份额为 35%。有趣的是,VS Code 的占比从 2017 年的 7%上升到
2018 年的 16%,成为第二大受欢迎的 Python 开发编辑器。很可能由于 VS Code
的快速增长,许多其他编辑的用户份额减少了。

Web 开发人员与数据科学家的编辑偏好略有不同。他们比数据科学家更喜欢
PyCharm,VS Code,Vim 和 Sublime 文本,而许多数据科学家更喜欢 Jupyter
Notebook 作为他们的主要工具。

Python 开发工具和功能

澳门葡萄京官方网站 31image

我们找到了在 Python
中相对受欢迎的开发工具和功能:版本控制,代码自动完成,代码重构,编写单元测试以及使用
Python 项目的虚拟环境都位列 Top10。

其他流行的工具和功能还包括 SQL 数据库,调试和代码 linting。NoSQL
数据库,Python 分析器和代码覆盖工具是最少使用的功能。

有趣的事实:

类型提示作为一种可选技术似乎越来越受欢迎。59%的受访者表示,他们经常或偶尔在
Python
开发时使用类型提示。类型提示的使用排名高于代码覆盖和分析器工具,与 CI
解决方案采用率进行 Python 开发旗鼓相当。

鉴于在 2018
年调查中,受访者中学生较少,而经验丰富的开发人员较多,我们可以得出结论,在专业团队中工作时间越长,经验越丰富,他们使用的工具和专业技术就越多。

就业现状

澳门葡萄京官方网站 32

超过一半的 Python 用户全职工作,19%为学生,而只有
13%为自雇人士或自由职业者。与 2017 年相比,2018
年,学生人数明显减少,就业人数更多。

工作岗位

澳门葡萄京官方网站 33

这是个多选题,因此总百分比大于 100%。将近 3/4 受访者为开发者,1/5
为数据分析家、架构师或团队领导。在占比为 12%
的“其他”部分,最多的职位头衔为数据科学家、DevOps、研究员和教师。

从事项目开发

澳门葡萄京官方网站 34

只有五分之一的 Python 用户只从事一个项目 ;
其余人的工作涉及许多不同的项目,或负责一个主要项目和若干次要项目。

团队合作 VS 独立工作

澳门葡萄京官方网站 35

有趣的是,将近一半的 Python 用户独立进行项目开发,4%
的用户作为外部咨询或训练师。

团队规模

澳门葡萄京官方网站 36

约三分之一的开发者在规模很小的团队中工作,其中 74% 的团队规模为 2-7
人。团队规模的数据与去年相比没有变化。

企业规模

澳门葡萄京官方网站 37

25% 的受访者在 51-500 人的企业中工作,这一部分占比最大,其次为 11-50
人和 5000 人以上企业,占比均为 19%。

企业行业和业务分布

澳门葡萄京官方网站 38

信息技术 / 软件开发占比最大,为 44%;“其他”一列中包括零售、能源和媒体。

目标企业 / 行业

澳门葡萄京官方网站 39

Python 开发者的主要目标企业 / 行业同样为信息技术 /
软件开发,还包括财务、银行、销售、商务等,“其他”部分占比
12%。大部分自填的行业包括电信或能源,并提到了其他行业。

IT 行业经验

澳门葡萄京官方网站 40

与 2017 年相比,Python 用户在 IT
行业的经验更加多样化,没有特别占优势的群体,其中拥有 11
年以上经验的用户占比最大,其次为 3-5 年经验,小于一年。

平均年龄

澳门葡萄京官方网站 41

受访者普遍年龄在 20 岁左右,近三分之一是 30 多岁,许多年轻人似乎也融入了
Python 社区。

全球社区

澳门葡萄京官方网站 42image

以下为全球 150 多个国家的 Python 开发者社区分布:

21% 美国

12% 印度

6% 英国

5% 德国

4% 中国

4% 法国

3% 俄罗斯

3% 加拿大

3% 巴西

2% 西班牙

2% 波兰

2% 澳大利亚

2% 意大利

2% 荷兰

1% 乌克兰

1% 捷克共和国

1% 瑞典

1% 以色列

25% 其他

  1. Python 3 的采用率正在快速增长,并且已经达到 84%,而 Python 2 仅被
    16%的 Python 用户用作主要的注释器。从 2017 年的 75%到 2018 年的
    84%,这对于 Python 3 来说是一个巨大的飞跃。

  2. 数据分析在 Python 用户中比 Web 开发更受欢迎,从 2017 年的 50%增长到
    2018 年的 58%

  3. 使用 Python 作为主要语言的所有开发人员中有一半也使用
    JavaScript。Python 也经常与 HTML / CSS,Bash / Shell,SQL,C / C ++
    和 Java 一起使用。

  4. Flask 和 Django 是 Web 开发人员中最受欢迎的框架,占比相同,把其他
    Python Web 框架远远甩在后面。

  5. NumPy,Pandas,Matplotlib 和 SciPy
    是最受欢迎的数据科学框架和库。机器学习专用库,如
    SciKit-Learn,TensorFlow,Keras 等,也很受欢迎。

  6. AWS 是 Python 开发人员最受欢迎的云平台,其次是 Google Cloud
    Platform,Heroku,DigitalOcean 和 Microsoft Azure。

  7. 2018 年,使用 DevOps 的受访者数量明显增加(与 2017 年相比增加了 8
    个百分点)。对于使用 Python 作为辅助语言的 Python 用户而言,DevOps
    已经取代了 Web 开发。

  8. PyCharm 及其两个版本是最受欢迎的 Python 开发工具。有趣的是,VS Code
    已从 2017 年的 7%扩展到 2018 年的 16%,使其成为 Python
    开发的第二大受欢迎的编辑器。其他流行的 Python 编辑器包括
    Vim,Sublime 和 Jupyter Notebook。

  9. 令人惊讶的是,几乎三分之二的 Python 开发人员选择 Linux
    作为他们的开发环境操作系统。

(本文章转载自infoq, 如有侵权, 请联系作者删除)