Python 作为最流行的语言之一,常年占据各语言排行榜前三名的位置,它的用途自然是非常广泛的。

我们耳熟能详的知名公司中,有很多公司的主力语言就是 Python。国内知名的 Python 公司是豆瓣和知乎,头条早期也是用 Python 。而国外的知名公司有 Youtube, Quora, Dropbox 和 Google 等。当我们刷知乎刷豆瓣时,当我们使用这些公司的服务时,背后就有 Python 代码默默地为我们工作。值得一提的是,Python 之父 Guido 在 2019 年宣布退休之前,就在 Dropbox 工作,更早之前他还在 Google 工作过。

去年(2019)我们人类首次见到了黑洞的照片,掌声背后 Python 也功不可没。天文学家使用 Python 处理望远镜收集的数据,除了用到 Astropy 这个天文学相关的库之外,还使用了 Numpy, Scipy, Pandas 进行数据处理,用 Matplotlib 画图等等,而且也用到了 Jupyter Notbook 这款非常赞的工具。

前两年知乎上时不时就刷到用 Python 写爬虫的内容,而最近用 Python 进行办公室自动化的广告多了起来,侧面说明了 Python 的火热。

历史上,Python 首先是作为「脚本语言」而存在的。脚本语言,一般指解释型的(而非编译型),易学易用的,适合写一次性用途的脚本或者命令行工具的语言。作为脚本语言的 Python,特点是学习成本低,而开发效率高。在运维和黑客领域的很多知名作品,都是 Python 写的(我怀疑在这两个领域,Python 是官方语言)。运维方面,配置管理工具有 ansible, saltstack,进程管理工具有 supervisor,SSH 工具/库有 Paramiko 和 Fabric。黑客领域,Python 基本上是黑客们的首选。SQL 注入工具 sqlmap,数据包处理工具 scapy,都是用 Python 写的。

时间进入 2000 年,Web 开始流行,Python 也进入 Web 开发领域。Python 知名的 Web 框架有 Django, Tornado, Flask,知乎就使用了 Tornado。同时,搜索引擎和爬虫的火热,其间也少不了 Python 的身影,scrapy, selenium, pyspider 等爬虫工具就是 Python 开发的(selenium 比较特殊一点,略)。对爬到的 html 页面进行处理,在 Python 中有 lxml, beautiful soup, pyquery 等库帮我们处理。

后来,云计算的概念兴起。在 docker 和 k8s 席卷一切之前,用 Python 写的 OpenStack 可能是云平台管控工具中最有统治力的。

时间到了 2016 年,以 AlphaGo 战胜李世乭事件为标志,我们似乎一下子来到了人工智能时代。Python 依然发挥着重要的作用,其应用甚至变得更加广泛。随着 Python 成为算法工程师的首选语言,我们在网络上看到的每一条个性化内容的背后,都有 Python 对我们兴趣的深入理解。现在流行的机器学习/深度学习框架,要么是用 Python 写的,要么提供了 Python 的接口,比如 Tensorflow,PyTouch,Keras,Scikits-learn,Caffe 等等。最近几年 Python 的火热度增加了不少,主要就是人工智能带来的。

另外,再说两个上面没有提到,但我个人比较喜欢的库/工具。第一个是 Pillow,是用来进行图片处理的库,曾经在项目中使用 Pillow 处理过微信头像。微信官方文档称,头像是正方形的,但上线后发现,少数用户的头像竟然不是正方形,导致了一些处理错误出现,因此印象深刻。第二个是 youtube-dl,顾名思义可以用来下载 youtube 视频。其实, youtube-dl 非常强大,除 youtube 之外,还可以下载国内外很多知名网站的视频。

作者:西瓜在笑
链接:地址
来源:知乎

全球哪些顶级的公司在使用Python呢?快来看一下吧!

1.Industrial Light and Magic

Industrial Light and Magic(ILM)是乔治卢卡斯于1975年创建的特效公司,为星球大战创造了FX(电影特效)。从那时起,它们已经成为FX的代名词,在电影和广告中屡获殊荣。

其CGI部门选择Python而非Perl和Tcl,是因为使用Python能够快速的构建基础构架。由于Python与C和C ++的良好交互性,ILM可以很简单的将Python导入其专用的照明软件。这让它们在更多领域使用Python,用它来封装组件和扩展其标准图形应用程序。该工作室已将Python用于其工作的多个方面。开发人员使用Python来跟踪和审核管道函数,将每部电影制作的每张图像都保存一个数据库。随着越来越多的ILM程序由Python控制,它创建了一个更简单的统一工具集,从而使得特效制作更为高效

2.Google

Google几乎从一开始就一直是Python的支持者。最开始,Google的创始人决定“除了一些必须使用C ++的关键部分之外,可以随意使用Python.”。这意味着C ++被用于需要内存控制和低延迟的地方。Python用与易于维护的部分和快速交付的工程。Google经常使用Python重写Perl和Bash脚本。因为Python部署和维护简单

3.Facebook

Facebook的产品工程师非常热衷于Python,把它作为这家社交媒体巨头的第三大流行语言(仅次于C ++和他们专有的PHP语言Hack)。Facebook上有超过5,000项功能都是用Python完成的,它们包括管理基础架构,二进制分发,硬件映像以及一些自动操作。使用Python库的简易性意味着产品工程师不必编写和维护更多的代码,从而使他们能够专注于实时改进。Python还确保Facebook的基础架构能够实现高效扩展

4.Instagram

在2016年,Instagram工程团队对外宣称他们正在进行全球最大的Django Web框架部署,该框架完全由Python编写。Instagram的一名软件工程师Min Ni阐述了他们使用Python的情况:“我们最初选择使用Python是因为它简洁高效,这与我们‘首先做简单的事情’的理念完全一致。”从那时起,Instagram的工程团队投入了大量时间和资源来保证Python在大规模业务(每月约8亿活跃用户)上运行:“通过我们对Instagram Web服务框架的构建,我们相信我们将继续使用Python来扩展我们的服务基础架构。

5.Spotify

这家音乐流媒体巨头是Python的巨大支持者,主要使用该语言进行数据分析和后端服务。在后端,有大量的服务都通过0MQ(ZeroMQ)进行通信,这是一种用Python和C ++(以及其他语言)编写的开源网络库和框架。使用Python编写的原因是因为Spotify喜欢在Python编程时的简单和高效。 Spotify有超过6000个Python进程,这些进程在Hadoop集群上协同工作。

6.Netflix

Netflix与Spotify使用Python的方式非常相似的,依靠Python为服务器端的数据分析提供支持。然而,它并不仅仅停留在这些应用。 Netflix允许他们的软件工程师选择自己想用的语言编写程序,随后发现Python应用程序的数量大幅增加。经过调查发现,Netflix工程师喜欢引用标准库以及大量来自开发社区的可用于解决几乎任何问题的第三方库。另外,因为使用Python开发非常容易,所以它已经成为许多Netflix其他服务的关键。Python使用的主要场所之一是中央警报网关。这个RESTful网络应用程序可以在任何地方处理警报,然后将它们发送给需要查看警报的人或小组。此外,该应用程序还能够过滤已经处理的重复警报,甚至自动解决一些常见警报,例如重启进程或终止看起来不稳定的进程。考虑到警报量巨大,该应用程序对Netflix提供了巨大的帮助。智能处理意味着开发人员和工程师不会再被大量的警报电话淹没。Netflix使用Python的另一个领域是用于跟踪安全更改和历史记录的monkey应用。这些monkey用于跟踪和警告任何组中与EC2安全相关的策略的任何更改,并跟踪这些环境中的任何更改。它们还用于跟踪连接到Netflix多个域的几十个SSL证书。自2012年以来,通过追踪技术的应用,Netflix的意外到期情况从四分之一减小到了几乎没有。

7.Dropbox

这家云存储服务商在其桌面客户端中使用Python。如果您对Dropbox在Python方面的使用表示怀疑,请参见2012年,他们设法说服Python之父Guido van Rossum离开Google并进入Dropbox。Rossum加入Dropbox的条件是他将成为一名工程师,而不是一名主管或经理。在他来到Dropbox的第一年,他帮助实现了Dropbox中“与Dropbox社区内的其他用户共享数据存储”的功能。尽管Dropbox的许多库和内部工具都是专用而非开源的,但Dropbox已经发布了一个非常高效的使用python编写的API,可以让您了解工程师的想法。同样值得注意的是,虽然客户端程序使用Python编码,但它们使用Mac和Windows上的不同的库来提供一致的用户体验。这是因为Python不会预装在Windows上,而且由于您的Mac版本不同,您的Python版本也会有所不同

8.Reddit

2017年,该网站每月访问量达到5.42亿人,成为美国访第四,全球第七高访问量的网站。其网站主要由Python编写。Reddit最初是用Lisp编写的,但在2005年12月发布后六个月,该网站重新使用Python编写。改变编写语言的主要原因是Python拥有更多的代码库,并且在开发上更具灵活性。最初运行网站的web框架web.py现在是一个开源项目。在2009年的采访中,Steve Huffman和Alexis Ohanian在Pycon期间被问及为什么Reddit仍在使用Python作为其框架。霍夫曼给出了相同的答案:“任何功能都能找到相应的Python库。我们一直在学习很多这些技术和很多这样的架构。所以,当我不了解连接池时,我可以找到一个库来使用,直到我自己更好地理解并编写我们自己的库。不了解web框架,所以我们会先使用别人的,一直到我们自己创建完成。 Python就是有这样好的库支持。“

Reddit坚持使用Python的第二个原因是所有使用Python公司的共同思路。Steve Huffman说代码的可读性也是选择Python的重要因素:“我认为我们现在还没有专门的Python程序员。我只是对他们说,'你写的所有东西都需要用Python编写,'我很容易读懂Python代码。这很棒,因为我可以从房间中看到他们的屏幕,看他们的代码是好还是坏。因为优秀的Python代码结构非常易读。这让我的生活变得更加轻松。它非常有表现力,可读很好,又易于编写。这让我生活更加顺利”

使用Python进行生产的世界级和成功的软件公司还远不止这些。 截至2019年,Python的采用率达到了一个新的高峰,并还在继续攀升。

作者:python小达
链接:地址
来源:知乎

2021年12月编程语言排行榜

现在的软件有哪些是用Python语言编程的?相关推荐

  1. Python:Python语言编程软件安装的几大姿势之详细攻略

    Python:Python语言编程软件安装的几大姿势之详细攻略 目录 Python软件安装的几大姿势 Python原生安装 Python3.6安装 Python流行安装--完美搭配Pycharm

  2. Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码

    Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码 目录 文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码

  3. Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片、相互转换

    Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片.相互转换 目录 numpy中的array格式数据切片与pandas中的dataframe ...

  4. NCT全国青少年编程能力等级测试教程(图形化编程、Python语言编程)

    图形化编程 Python语言编程 蓝桥杯STEMA测评-python真题讲解6 蓝桥杯STEMA测评-python真题讲解6_哔哩哔哩_bilibili 工橙院大豪猪 工橙院大豪猪的个人空间_哔哩哔哩 ...

  5. 利用Python语言编程,完成猜数游戏,系统随机产生一个1到100的数字num1,用户输入一个数字guess,如果没有猜对,根据系统给出的提示重新猜数,直到才对为止。

    利用Python语言编程,完成猜数游戏,系统随机产生一个1到100的数字num1,用户输入一个数字guess,如果没有猜对,根据系统给出的提示重新猜数,直到才对为止. 要求:(1)系统每次都要给出新的 ...

  6. python语言编程:itertools.product的简介、使用方法(求笛卡尔积等)之详细攻略

    python语言编程:itertools.product的简介.使用方法(求笛卡尔积等)之详细攻略 目录 itertools的简介 itertools的使用方法 1.求笛卡尔积:根据输入的可遍历对象生 ...

  7. 利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只。

    利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只. 提示:利用循环,采用枚举法. 要求:当输入的h和f没 ...

  8. python程序红绿灯识别_【2020】Python语言编程实现简易红绿灯功能

    作为树莓派编程的"黄金搭档",Python语言是目前正在广泛使用的通用高级编程语言,使用Python语言编程进行创客实验已经成为树莓派最为强势的应用之一. "简易红绿灯& ...

  9. python软件是免费的吗-python语言是免费还是收费的?

    python是免费的么? python是免费的,也就是开源的.编程软件的盈利方式就是你使用它, 用的人越多越值钱. 注:Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. ...

最新文章

  1. tomcat启动一直报空指针错误
  2. LDD3源码分析之阻塞型I/O
  3. 【spring 配置文件】spring配置文件的解析
  4. LayoutInflate部分源码解析
  5. jq步骤条 java_JQuery实现步骤条效果(上一步,下一步)
  6. oracle中over 语法,Oracle语法之OVER(PARTITIONBY..)及开窗函数
  7. 高考题(可作为试讲资料)
  8. java枚举怎么编译不行的_java – 打开枚举时Maven编译失败
  9. JEPF 3.1.3 发布,我们的软件机床
  10. 图像处理常用八大算法
  11. android二级菜单ui,巧用PopupMenu实现NavigationView的二级子菜单
  12. selenium获取文本的几种方法小结(获取源码)
  13. android studio生成jks,Android Studio生成keystore签名文件步骤讲解
  14. 下载安装php详细教程(在安装配置apache之后)
  15. 利用ESP定律进行脱壳 ——合天网安实验室学习笔记
  16. java id pid 递归,父子结构数据(id,pid)递归查询所有子id合集和父id合集
  17. 游戏开发入门系列(目录)
  18. 【工大SCIR】AAAI20 基于反向翻译和元学习的低资源神经语义解析
  19. 《黑马程序员》通讯录管理系统实战
  20. 深度学习,提高前列腺癌诊断正确率

热门文章

  1. 玩聚RT 加入对饭否的统计
  2. masm5安装教程_WinASM studio实例图文教程
  3. casio pb-700简单使用basic语言编程并编译执行(运行)(希望能给你提供便利)
  4. mysql is needed by_虚拟机安装MySQL报** is needed by **错误
  5. 二套模板的小说网站源码 带采集功能
  6. 京东秒杀抢购失败?试试用Python准时自动抢购!
  7. win10qt5.14.2下opencv4.4.0+contrib的mingw32编译
  8. Sketch v86 for mac有哪些新的改进?
  9. jquery视频插件_10个jQuery视频插件
  10. 负值瞬时频率出现原因及解决方法总结