2019 年 Python 开发者调查结果发布:Linux 最受欢迎

可莉
• 阅读 723

点击关注上方“杰哥的IT之旅”,

设为“置顶或星标”,第一时间送达干货。

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019年秋天,Python软件基金会和JetBrains一起组织了第三届年度Python开发者调查。与以往的调查相同,我们致力于发现新的趋势,并探究Python开发者社区的现状。本次调查一共有2万4千名开发者参与,他们来自150个国家,这让我们得以对Python社区的全貌有一个大致的了解。

Python的大致用途

Python作为主要编程语言,还是第二语言?

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

大部分参与者将Python作为自己主要的编程语言。这与2018年调查的结果相同。

跟Python配合使用的语言

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

相比于去年,配合Python使用的语言略有变化。另外,越来越多的人说除了Python不使用其他语言,这个比例从去年的6%上升到今年的11%。

Web开发及数据科学使用的语言

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

脚本语言,像JavaScript、TypeScript、HTML/CSS、PHP,主要用于Web开发者,而C++、R、Java则在数据科学家中更为流行。

使用Python的目的

在这一节,我们想找出人们使用Python的目的,他们用Python做哪些方面的开发工作,以及他们如何组合使用这些场景。

你主要用Python做哪方面的事情?

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

你把Python主要用在什么领域?

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

Python用户经常把Python用于多个用途,在多选题“你用Python做什么”这个问题下,用户平均每个人选择了3.9个选项。

而Python涉及的领域在这几年都还是比较稳定的。数据科学一直在第一位,其次是Web开发。

用Python做计算机视觉的用户比例稍有增加,从2018年的9%,增加到了2019年的13%。

你对下述领域的参与度如何?

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

问题“你用Python做什么”有一个文本输入框,下面是常见的答案:

API、人工智能、天文学、自动化、后端、生物信息学、区块链、机器人、CLI应用、云计算、计算机视觉、密码学、网络安全、数据工程、数据挖掘/管道/处理/可视化、深度学习、不和谐机器人(Discord Bots)、工程、ERP、网络黑客、ETL、财务软件、兴趣、GIS、伦理黑客、家庭自动化、图像处理、IoT、微服务、音乐、自然语言处理、压力测试、仿真、量子计算、研究、机器人科学、科学计算、服务器、交易。

总结起来就是,Python的用途非常广泛。

你使用Python最多的场景

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

用Python做数据分析和机器学习的人,是否认为自己是数据科学家?

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

只有33%做数据工作的人认为自己是数据科学家。

Python版本

Python3 VS Python2

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

尽管Python2已经不维护了,还是有10%的人在使用它。

仍坚持Python2的人群中,Web开发的占比最高,达到45%。其次是Devop、系统管理员、和自动化脚本,占到41%。

不同Python版本的使用场景

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

尽管数据分析在Python场景中是最受欢迎的,但是在坚持Python2的人群中,Web开发的人数要高于数据分析。这可能是因为数据分析是最近火起来的,而Web开发作为一个更加成熟的领域,相关开发者有更多的旧代码要维护。

Python3的版本分布

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

直到2019年末,Python3.7仍是最受欢迎的Python3版本,使用率超过了一半。

Python安装和升级

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

Python环境隔离

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

尽管竞争者很多,virtualenv仍然是最受欢迎的的隔离工具。同时,vagrant/虚拟机使用者越来越少,今年的份额比去年下降了3个百分点。

框架和库

这部分,我们研究框架和库的流行度,已经Python程序员们关注的技术。

Web框架

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

有趣的是,在那些说自己没有用Python做Web开发的人中,有50%的人还是使用了Web框架。这50%的人中,使用最多的框架是Flask(32%),其次是Django(21%)。而明确说明自己是Web开发者的人中,73%使用Django,61%使用Flask。

数据科学框架和库

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

Numpy是最受欢迎的数据科学库,有63%的人使用它,其次是Pandas,占比55%。

以往的调查里面我们没有设置PyTorch,而实际上它很受欢迎,有15%的人在使用它。

大数据工具

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

其他框架和库

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

单元测试框架

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

技术和云

ORM

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

最受欢迎的两个ORM框架是SQLAlchemy和Django ORM。这个结果对应于最受欢迎的两个Web框架,Flask和Django。

数据库

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

顶级云平台

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

Google Cloud Platform 增长了2个百分点。Microsoft Azure 增长了4个百分点。DigitalOcean和Heroku在衰退。

如何在云中运行代码(生产环境)

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

使用容器运行代码越来越流行了,从去年的40%增长到今年的47%,已经超过了虚拟机的使用量。

如何为云上程序做开发

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

使用容器做本地开发上升了6个百分点,而使用虚拟机下降了2个百分点。

开发工具

操作系统

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

持续集成系统

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

跟去年相比,Jenkins/Hudson的占有率下降了,而Gitlab CI上升到了跟它几乎同一水平。

配置管理工具

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

编辑器和IDE

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

最流行的Python开发工具是PyCharm和VS Code。PyCharm的社区版和商业版累计份额是33%。VS Code经历了快速的增长,2017年它的份额还是7%,2019年就达到了24%。

Python开发需要使用的工具和特性

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

版本控制、自动补全、代码重构,这几个功能几乎每个Python程序员都需要使用。

雇佣和工作

雇佣状态

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

职位

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

Python经验

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

专业编码经历

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

团队工作还是独自工作

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

是否同时工作于多个项目

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

团队规模

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

公司规模

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

公司行业

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

公司服务的行业

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

年龄段

2019 年 Python 开发者调查结果发布:Linux 最受欢迎

https://www.jetbrains.com/lp/python-developers-survey-2019/
译者:诗书塞外

end

本公众号全部博文已整理成一个目录,请在公众号后台回复「 m 」获取!

推荐阅读:

1、 Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"
2、 利用 Python 进行多 Sheet 表合并、多工作簿合并、一表按列拆分
3、 用 Python 写出 Gameboy 模拟器,这位丹麦小哥的大学项目火了!
4、 10个必会的 PyCharm 技巧
5、 开源软件原来都这样命名的!Python最独特,Debian最浪漫,PHP简单粗暴……
6、 Python 从入门到精通:一个月就够了!

               关注微信公众号『 
              杰哥的IT之旅』,后台回复“ 
              1024”查看更多内容,回复“ 
              微信”添加我微信。 
              
              
               
              
              
               
              
              
               
                
                 
                  
                   
                    
                     
                      
                       
                       好文和朋友一起看~ 
                       
                      
                     
                    
                   
                  
                 
                
               
              
             
           
         
           
   
          
          
          
        
          
  
         
         
         
       
         
 
        
        
        
      
        

       
       
       

本文分享自微信公众号 - 杰哥的IT之旅(Jake_Internet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这