全球超2万名开发者调研:Python 3渗透率至84%
编辑 | suiling
出品 | Python大本营(ID:pythonnews)
60s测试:你是否适合转型人工智能?
https://edu.csdn.net/topic/ai30?utm_source=cxrs_bw
在2018年秋季,Python软件基金会与JetBrains发起了年度Python开发者调查。 报告的目的是寻找Python领域的新趋势,帮助开发者深入了解2018年Python开发者的现状。
该报告共统计了来自150多个不同国家和地区的超过两万名开发人员的Python使用情况。Python大本营对该报告进行了翻译。
本报告要点如下:
Python 3的渗透率快速增长至84%(2017年为75%),仅有16%的用户使用Python 2作为主要解释器。
越来越多开发者使用Python进行数据分析,该比例从2017年的50%上升至2018年的58%,比使用Python进行Web开发更受欢迎。
将Python作为第一开发语言的开发者中,有半数也使用JavaScript进行开发。Python也经常和HTML/CSS, Bash/Shell, SQL, C/C++,以及Java一起使用。
Web开发者最喜欢的框架是Flask和Django,两者占比均为45%,远远超过了其他Python Web开发框架。
NumPy, Pandas, Matplotlib和SciPy是最受欢迎的数据科学框架和库。专门针对机器学习的库,比如SciKit-Learn, TensorFlow, Keras等也很受欢迎。
AWS是Python开发者最喜欢的云平台,然后是Google Cloud Platform, Heroku, DigitalOcean和Microsoft Azure平台。
2018年受访的开发者中,运维人员的数量明显增加(与2017年相比增加了8个百分点)。在使用Python作为次要语言的开发者中,运维开发已经超过了Web开发。
PyCharm的两个版本是最受欢迎Python开发工具。有趣的是,VS Code的使用率从2017年的7%上升至2018年的16%,成为Python开发第二最受欢迎的编辑器。其他受欢迎的编辑器还有Vim, Sublime以及Jupyter Notebook。
2/3的Python开发者使用Linux作为开发操作系统。
具体报告内容如下:
Python使用概况
主要开发语言or辅助开发语言
调查中,84%的Python用户使用Python作为他们的第一开发语言,16%的用户将其作为辅助开发语言。 在2017年,79%用户使用Python作为第一语言,21%用户将其作为辅助开发语言。
除了Python,其他语言使用情况。
根据调查显示:参与调研的Python用户中有一半也使用JavaScript。 2018年的统计数据与2017年的结果非常相似。
Python开发类型
用Python是工作需要还是个人需要?
Python使用目的
从数据中看到,2018年的报告中58%的用户用Python进行数据分析,2017年这个数据是50%。机器学习也增长了7个百分点,Web开发与前一年相比仅增加了2个百分点。
你参与过以下哪些领域的开发?
我们可以清楚地看到,Python游戏开发最主要是作为业余爱好,而Web开发、机器学习、数据分析和软件测试主要用在职业开发方面。
你使用Python最多的领域是什么(单选)
该问题是单选,乍一看,Web开发大幅领先(27%),大幅超过数据分析(17%)。但仔细观察后发现,机器学习增长了两个百分点,如果将机器学习和数据分析整合为“数据科学”,这个占比将会达到28%。
对比将Python作为主要开发语言和辅助开发语言,web开发差距最大(29% vs 17%)。对于机器学习和数据分析来说,没有明显差别。
Python3渗透率
Python3还是Python2?
由于Python2将于2020年停止更新维护,所以越来越的使用者迁移到了Python3,从下图可以看出,有84%的用户使用了Python3.
Python3渗透率
在调查中发现,82%的Web开发人员使用Python 3,而在数据科学这一领域Python3的渗透率高达90%。
原因可能是Web开发人员仍有大量遗留代码需要维护,而借助于人工智能的热度,数据分析和机器学习人员不断加入了Python 3的阵营。
Python安装和更新
71%的受访者从python.org或OS提供的包管理器(如APT和Homebrew)安装Python。 这与2017年的结果非常相似。
你使用以下工具隔离Python开发环境吗?
在开发或部署阶段隔离Python环境已经是很长一段时间以来的最佳实践。 毫无疑问,pipenv和较低级别的virtualenv是创建和管理新的Python环境的两个最常用工具。 令人惊讶的是,21%的Python用户仍未接受这种做法。
Python框架、库和技术
与前一年相比,受访者中Flask的使用量增长了15个百分点,今年Flask已成为最受欢迎的Web框架。 45%的受访者(2017年为41%)选择了Django。
Web框架
数据科学框架和库
最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib和SciPy。 特定于机器学习的库,如SciKit-Learn,TensorFlow,Keras等也非常受欢迎,这与机器学习领域的快速发展密切相关。
通用框架和库
超过一半的Python用户使用了Requests。 Pillow也很受欢迎。
云平台
55%使用云平台的Python用户更喜欢AWS。Google Cloud Platform排在第二位,其次是Heroku,DigitalOcean和Microsoft Azure。大约三分之一的受访者不使用任何云解决方案。
如何在云平台运行代码? (多选)
如何在云平台上进行开发?
开发工具
操作系统
近三分之二的受访者选择Linux作为他们的开发环境操作系统。
测试框架
最受欢迎的单元测试框架是pytest,然后是unittest。 其他单元测试框架受欢迎程度一般。 不过35%的Python用户不使用任何测试框架,并且可能没有测试他们的代码。 在上边“隔离Python开发环境”部分中,我们发现大约五分之一的Python用户不使用Python隔离。
数据库
大多数人使用免费或开源数据库,如PostgreSQL,MySQL或SQLite。由于大量的Python用户正在进行某种形式的机器学习或数据工程,导致MongoDB和Redis等非关系型数据库也非常受欢迎。
ORM
两个最流行的ORM是SQLAlchemy和Django ORM,它们与两个领先的Web开发框架:Flask和Django的流行度相匹配。
大型数据工具更有可能被机器学习工程师使用,这就是为什么76%的受访者没有选择任何工具。
半数受访的Python用户不使用任何CI(持续集成系统)解决方案。最受欢迎的三个CI解决方案是:Jenkins, Gitlab CI和Travis。
配置管理方面,大部分Python用户不使用配置管理工具。
编辑器和IDE
为了找到开发者们最喜欢的编辑器和IDE,我们将该问题设置成了单选。通过数据了解到,
PyCharm是最受欢迎的Python开发工具,PyCharm Professional和Community版本的合计份额为35%。 有趣的是,VS Code从2017年的7%上升到2018年的16%,成为第二最受欢迎的Python开发编辑器。 很可能是因为VS Code的快速增长,许多其他编辑的用户份额减少了。
Web开发人员与数据科学家的编辑偏好略有不同。 他们比数据科学家更喜欢PyCharm,VS Code,Vim和Sublime,而许多数据科学家更喜欢Jupyter Notebook作为他们的主要工具。
Python开发中,相对流行的工具和特性包括版本控制,代码自动完成,代码重构,编写单元测试以及使用Python项目的虚拟环境都占据了最高点。
其他流行的工具和功能包括SQL数据库,调试和代码linting。 NoSQL数据库,Python分析器和代码覆盖工具使用最少。
开发者职业相关和使用情况
超过一半的Python用户是全职工作,19%是学生,13%是半自由或自由职业者。 与2017年相比,2018年受访用户中学生人数明显减少,就业人数更多。
工作角色
73%的受访用户是开发者或者程序员。12%的其他选项中,填写最多的是数据科学家、运维、研究者和教师。
涉及项目数量
17%的Python用户只做一个项目,42%的用户同时做多个项目。
团队开发还是独立开发?
团队规模
公司规模
受访Python用户公司的所属行业
IT经验
年龄分布
更多报告内容,请见报告原文
https://www.jetbrains.com/research/python-developers-survey-2018/
(本文为Python大本营翻译文章,转载请联系微信1092722531)
如何挑战百万年薪的人工智能!
https://edu.csdn.net/topic/ai30?utm_source=csdn_bw
群招募
扫码添加小助手微信,回复:公司+研究方向(学校+研究方向),邀你加入技术交流群。技术群审核较严,敬请谅解。
推荐阅读:
指纹锁就安全了?防火防盗还得防AI
优秀开发者必备技能包:Python调试器
十大经典排序算法动画与解析,看我就够了
一键免费自动AI抠图,效果连PS大哥也点赞!
抠图新法:试试Python+scikit-image
数据分析:《流浪地球》逆袭《新喜剧之王》
最全Python算法集
用Python抓取某东购买记录并统计MM的bra大小
只需45秒,Python 给故宫画一组手绘图!
相关文章:

【Qt】QWidget对样式表设置边框无效的解决方法
1、现象 在对QWidget使用样式表时无效 QWidget#MyWgt{border:1px solid gray; }2、原因 原因是QWidget只支持background、background-clip和background-origin属性。 3、解决方法 3.1 使用QFrame代替QWidget,QFrame继承自QWidget,并且带有框架属性 …

break continue
break 终止整个循环体,执行循环后的代码; continue 终止单次的循环,整个循环体还是会继续执行转载于:https://www.cnblogs.com/RonnieQin/p/8430783.html

CSSA email list
UCSD: cssamailman.ucsd.eduUChicago: cssalists.uchicago.edu 转载于:https://www.cnblogs.com/stoneresearch/archive/2010/11/30/4336484.html

LVS原理详解(3种工作方式8种调度算法)--老男孩
一、LVS原理详解(4种工作方式8种调度算法)集群简介集群就是一组独立的计算机,协同工作,对外提供服务。对客户端来说像是一台服务器提供服务。LVS在企业架构中的位置:以上的架构只是众多企业里面的一种而已。绿色的线就…

【Qt】QMainWindow最大化按钮是灰色(不能最大化)的解决方法
解决方法 设置最大尺寸为16777215,并且使能Qt::WindowMaximizeButtonHint(默认就是使能的,不执行也可以) const QSize MAIN_SIZE_MAX QSize(16777215, 16777215); this->setMaximumSize(MAIN_SIZE_MAX); this->setWindow…

“AI明星”地平线B轮融资6亿美元!
整理 | 一一 出品 | AI科技大本营(ID:rgznai100) 60s测试:你是否适合转型人工智能? https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw 2 月 27 日,人工智能芯片技术的 AI 创业企业地平线(Horizon Robotics)宣布&a…

C++深拷贝与浅拷贝
浅拷贝就是成员数据之间的一一赋值:把值赋给一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以值堆资源,或者一个文件。。当 值拷贝的时候,两个对象就有用共同的资源,同时对资源可…

【OpenCV】使用过的函数汇总
1、类 Mat:矩阵matrix,opencv2中主要用来封装图片数据 InputArray:输入参数 ,约等于Mat OutputArray:输出参数,约等于Mat Rect:表示矩形 2、函数 imread();//从文件中读取图片到Mat中 imwrit…

春招来袭!程序员如何拿下硅谷顶级公司200万年薪?
还记得那个在去年,用 6 天时间参加了 LinkedIn、Yelp、Apple、亚马逊、Facebook 和 Google 的面试,并拿下了 6 份 Offer 的“别人家的程序员”吗?之后,他又在这几份工作中进行了选择,一步步谈下了 30 万美元࿰…

wake_lock_timeout的使用方法【转】
本文转载自:http://blog.csdn.net/liuxd3000/article/details/44224849 今天有用到用ec43_GPIO的中断来唤醒系统,将系统从深度休眠中唤醒并保证系统wakup 一段时间用过了,方法如下,有同样使用的童鞋可以参考一下!1. …

函数05 - 零基础入门学习C语言36
第七章:函数05 让编程改变世界 Change the world by program 函数的嵌套调用 嵌套定义就是在定义一个函数时,其函数体内又包含另一个函数的完整定义。 然而,C语言不能嵌套定义函数,但可以嵌套调用函数,…

【linux】可执行程序执行时报错-sh: ./mxc_v4l2_tvin.out: No such file or directory的解决方法
问题 在imx6开发板上执行 ./mxc_v4l2_tvin.out时报错: -sh: ./mxc_v4l2_tvin.out: No such file or directory 原因查找 1、路径问题:确定在当前目录下有该程序,没问题; 2、使用ls -l查看可以执行权限,没问题&…

展望2018:WebRTC大规模商用元年
历经6年长跑,WebRTC终于在去年迎来了1.0标准(candidate recommendation)的发布,而它也将成为2018年视频通信商业应用场景爆发的主要技术推动力。一站式WebRTC通信技术提供商Zealcomm公司创始人、CEO冯昶对WebRTC在国内外发展历程、…

暴雪游戏遭遇AI“实力”坑队友:四处游走,还不参与战斗
作者 | 琥珀 出品 | AI科技大本营(ID: rgznai100) 60s测试:你是否适合转型人工智能? https://edu.csdn.net/topic/ai30?utm_sourcecxrs_bw “打游戏 AI 将完胜人类!?” 抱歉,这个 Flag 还是不…

linux/nginx 安全增强
这有一篇很好的文章. 评论中有好的补充 http://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html转载于:https://www.cnblogs.com/pengxl/archive/2010/12/08/1900175.html

十年程序员的告诫:千万不要重写代码!
对重写代码说不。 作者 | Roman Luzgin 译者 | 苏本如 责编 | 屠敏 出品 | CSDN(ID:CSDNNews) 以下为译文: 重写代码消耗了12个月! 我们从头开始重写代码浪费的时间。 你能想象在软件行业,12个月的时…

RabbitMQ 实战(四)消费者 ack 以及 生产者 confirms
2019独角兽企业重金招聘Python工程师标准>>> 这篇文章主要讲 RabbitMQ 中 消费者 ack 以及 生产者 confirms。 如上图,生产者把消息发送到 RabbitMQ,然后 RabbitMQ 再把消息投递到消费者。 生产者和 RabbitMQ,以及 RabbitMQ 和消费…

【imx6】/dev中fb和video的对应关系
imx6q关于fb和video的设备信息 设备节点 rootmyzr:/unit_tests# ls /dev/fb* -l lrwxrwxrwx 1 root root 3 Jan 1 1970 /dev/fb -> fb0 crw-rw---- 1 root video 29, 0 Jan 1 1970 /dev/fb0 crw-rw---- 1 root video 29, 1 Jan 1 1970 /dev/fb1 crw-rw---- 1 r…

flash绘图API:恋上你的CD
早上,我无意间碰撞到一个女孩,那时候,她匆匆忙地走了。从她的口袋里面掉下了一本陈旧的书,在哪里我看到她藏在书中的那封陈旧的信和cd。我好奇打开它,一边听着她那张cd,一边看她的写的信,忽然间…

【Ubuntu】ubuntu工具 记录shell终端的内容到文件中:script
###用法 $ script -h Usage: script [options] [file] Options: -a, --append append the output -c, --command run command rather than interactive shell -r, --return return exit code of the child process -f, --flush run flush after each write –force use outpu…

弃Java、Swift于不顾,为何选Python?
作者 | JACE HARR译者 | 姜松浩转载自 CSDN(ID:CSDNNews)以下为译文:刚入行的程序员总是询问他们应该从哪种语言开始,我告诉他们,他们应该首先学习 Python。以下是使用 Python 开始自学编程去探险的一些原因…

iOS事件处理,看我就够了~
该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> https://www.jianshu.com/p/b0884faae603 好久没写博客了,前后算起来刚好有一年了。这期间博客也不是一直没变化,细心的同学应该能发现,我一…

ISO9000机房管理办法
1 总则<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1.1制定目的(1) 规范公司机房管理以及网管相关工作。1.2适用范围公司网络机房以及资讯组人员。1.3权责单位(1) 资讯组负责本办法制定、修改、废止之起草工作。(2) 总…

1400小时开源语音数据集,你想要都在这儿
整理 | 一一出品 | AI科技大本营(ID:rgznai100)3 月 1 日,由 Mozilla 基金会发起的 Common Voice 项目,发布新版语音识别数据集,包括来自 42000 名贡献者,超过 1400 小时的语音样本数据,涵盖包括…

【VirtualBox】VirtualBox使用现有的虚拟盘文件(如VHD)创建虚拟机时,报错:打开虚拟硬盘失败,“UUID already exist”的解决方法
###0、问题描述 使用现有的虚拟盘文件(如VHD)创建虚拟机时,报错:打开虚拟硬盘失败,“UUID already exists”的错误。 ###1、参考博客 https://www.cnblogs.com/xqzt/p/5053338.html https://jingyan.baidu.com/articl…

JDK10 EA版特性速览
今天收到一封邮件组的邮件,是关于JDK 10 First Release Candidate的, JDK10 b43版将作为第一个JDK10的RC版。 b43版特性包括: 286: Local-Variable Type Inference296: Consolidate the JDK Forest into a Single Repository304: Garbage-Col…

linux主机常用管理命令
1.杀掉MYSQL SHELL ps aux|grep mysql|grep -v grep|awk {print $2}|xargs kill -9 2.删除当前目录下0字节的文件 find -type f -size 0 -exec rm -rf {} \; 3.匹配当data里包含"donald",输出第4列 awk /donald/ {print $4} data 扩展1: awk /…

【Qt】新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found
1、问题描述 新安装的虚拟机,使用QtCreator第一次编译时报错:g: Command not found (或着报,make执行失败之类的错误) 2、原因分析 新安装的虚拟机中,没有g。一般默认情况是,只安装了gcc 3…

爬一爬那些年你硬盘存过的“老师”
作者 | PayneLi 转载自Python全家桶(ID: python-0321) 人工智能的现状及今后发展趋势如何? https://edu.csdn.net/topic/ai30?utm_sourcecsdn_bw 最近在Github发现一个基于google浏览器的爬虫项目,此项目是由美国大神2018年开源…

python 打印调用栈
import tracebackdef BBQ():traceback.print_stack() 引入 traceback 包,在某个函数中执行 traceback.print_stack()。 转载于:https://www.cnblogs.com/yourstars/p/8448471.html