全球哪些顶级的公司在使用Python?Python的性能如何?

2023-11-15

 

目前有超过500种编程语言,每天仍在新增更多新语言。虽然其中有大部分重叠的语言以及大量仅用于理论和试验的编程语言。但一个人的时间和精力有限,你只能挑选几种甚至一种深入学习。没有基础的小白该从哪下手呢?不如就选python吧!

我们主张从python开始学编程,一方面它确实简单易用,另一方面是因为它在商业和软件开发中的实际应用率!全球哪些顶级的公司在使用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(https://www.dropbox.com/developers/documentation/python),可以让您了解工程师的想法。你也可以参见Dropbox工程师对大量服务端代码使用Python的采访。(https://talkpython.fm/episodes/transcript/30/python-community-and-python-at-dropbox)同样值得注意的是,虽然客户端程序使用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进行生产的世界级和成功的软件公司还远不止这些。 截至2018年,Python的采用率达到了一个新的高峰,并还在继续攀升。现在学习Python还会晚吗?只要你想学任何时候都不晚!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

全球哪些顶级的公司在使用Python?Python的性能如何? 的相关文章

  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • PySpark groupByKey 返回 pyspark.resultiterable.ResultIterable

    我试图找出为什么我的 groupByKey 返回以下内容 0
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何使用 PrimaryKeyRelatedField 更新多对多关系上的类别

    Django Rest 框架有一个主键相关字段 http www django rest framework org api guide relations primarykeyrelatedfield其中列出了我的 IDmany to m
  • python 对浮点数进行不正确的舍入

    gt gt gt a 0 3135 gt gt gt print 3f a 0 314 gt gt gt a 0 3125 gt gt gt print 3f a 0 312 gt gt gt 我期待 0 313 而不是 0 312 有没有
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 【Android】java.lang.UnsatisfiedLinkError: No implementation found for void xx xx xx -- 问题解决

    Android在开发过程中总会出现各种各样的bug 要想畅通无阻的完成一个app的 开发工作固然有点难度 这不 我的程序跑着跑着又报错了 AndroidRuntime FATAL EXCEPTION Thread 4903 Process
  • 反汇编二进制代码

    最近又做了一些内核hook的工作 繁琐的地方在于二进制指令的可读性上 下面简要记录dump出指令二进制 之后利用binutils来转成可读的汇编代码 hook的主要流程参考之前的linux内核态hook模块 splice 主要就是构建一个t
  • 理解MySQL回表

    回表就是先通过数据库索引扫描出数据所在的行 再通过行主键id取出索引中未提供的数据 即基于非主键索引的查询需要多扫描一棵索引树 因此 可以通过索引先查询出id字段 再通过主键id字段 查询行中的字段数据 即通过再次查询提供MySQL查询速度
  • Java编程——输出1000以内的素数(质数)

    素数的定义是什么 质数 prime number 又称素数 有无限个 一个大于1的自然数 除了1和它本身外 不能被其他自然数 质数 整除 换句话说就是该数除了1和它本身以外不再有其他的因数 否则称为合数 public class demo7
  • STM32库函数TIM_SetCompare()的工作机制测试

    一 TIM SetCompare 函数的定义 其中 TIM SetCompareX 这个函数有四个 它们为 TIM SetCompare1 TIM SetCompare2 TIM SetCompare3 TIM SetCompare4 同时
  • 引脚悬空是什么电平_STM32单片机必须掌握的八种IO口模式和引脚配置方式

    八种IO口模式 STM32有八种IO口模式 分别是 模拟输入 浮空输入 上拉输入 下拉输入 开漏输出 推挽输出 复用开漏输出和复用推挽输出 1 模拟输入 GPIO Mode AIN模拟输入 即关闭施密特触发器 将电压信号传送到片上外设模块
  • 关于STM32F103 TIM2重映射

    关于STM32F103 TIM2重映射 如何使用重映射和如何重映射为哪些管脚 这里不详细讲解 可以百度找到 下面讲的是tim2重映射为PA15 PB3 PB10 PB11 这里的设置网上也有讲解 但是如果功能较为复杂的程序 外设用的比较多的
  • 黑马JVM总结(五)

    1 方法区 它是所有java虚拟机 线程共享的区 存储着跟类的结构相关的信息 类的成员变量 方法数据 成员方法 构造器方法 特殊方法 类的构造器 方法区在虚拟机启动时被创建 方法区逻辑上是堆的组成部分 但是不同的JVM厂商实现是不一样的 O
  • 进程,线程,协程总结

    进程 三种状态 就绪态 运行的条件都已经慢去 正在等在cpu执行 执行态 cpu正在执行其功能 等待态 等待某些 条件满足 例如一个程序sleep了 此时就处于等待态 生命周期 用户编写代码 代码本身是以进程运行的 启动程序 进入进程 就绪
  • Eclipse搭建stm32+jlink开发环境全攻略

    Eclipse搭建stm32 jlink开发环境全攻略 初级篇 前言 为什么需要这样的开发环境 免费 跨平台 自由度高 Eclipse代码提示功能强大 MDK弱爆了 注 本人原创 转载注明作者 by 秋之前 email xia mengli
  • paddleOCR踩坑记

    paddleOCR踩坑记 训练莫名终止或者评估莫名终止 训练和评估的效果都特别好 预测的效果却特别差 使用gen label py报错 将paddleOCR转成pytorch框架 训练莫名终止或者评估莫名终止 这是因为在tools prog
  • 2023全国大学生数学建模竞赛B题思路模型代码

    目录 一 选题建议先发布 思路模型代码论文第一时间更新 获取见文末名片 二 选题建议 后续思路代码论文 B 题 多波束测线问题 各题分析 获取完整思路代码见此处名片 一 选题建议先发布 思路模型代码论文第一时间更新 获取见文末名片 二 选题
  • python使用matplotlib:subplot绘制多个子图

    CSDN GitHub python使用matplotlib subplot绘制多个子图 AderXCoding language python matplotlib subplot 转自 https blog csdn net gatie
  • 解决eclipse启动报错问题:Could not create the Java Virtual Machine...

    电脑重装系统后 下了很多软件 其中就包括eclipse 但是在安装好后打开eclipse时报错 点击确定出现下面这样 网上找了原因 是因为自己在安装JDK的时候在C windows System32文件中生成了三个文件java exe ja
  • vue.js 开发环境搭建最简单攻略

    更新 本篇文章是我很之前写的 对于一些没有工作 或者js基础不太好的同学 建议不必大费周章去搭建环境 可以直接引用 vue js 就可以进行学习 练习 有些过程是水到渠成的 当初很多不懂的东西慢慢就懂了 官方指南假设你已有HTML CSS和
  • 小学数学题的Java实现

    昨天 去朋友家一起做饭 刚好有小孩问我问题 说你不是学计算机的吗 那你教我做一道数学题 我刚开始看的时候愣了一下 不过 想了一会还是解决 题目是这样的 有一袋糖果 每次从袋子里面拿走一半又放进袋子一颗 经过5次操作后 袋子还剩余4颗糖果 请
  • CH07_封装

    封装记录 Encapsulate Record 162 曾用名 以数据类代替记录 Replace Record with Data Class organization name Acme Gooseberries country GB c
  • PHP 视频或信息 保持唯一推荐

    redis RedisCli origicount redis gt scard original 查看数据是否为空 if origicount recommend M video gt field videoId gt where is
  • 100位特邀用户亲测GPT-4

    在首期Beezy4 0体验官优秀案例集中 部分用户展示了GPT 3 5和GPT 4 0在小红书文案 创意脚本生成上的应用对比 今天我们将选取其中的典型案例进行分析 看一下GPT 3 5和GPT 4 0在文案写作领域的表现有何不同 优秀案例
  • 全球哪些顶级的公司在使用Python?Python的性能如何?

    目前有超过500种编程语言 每天仍在新增更多新语言 虽然其中有大部分重叠的语言以及大量仅用于理论和试验的编程语言 但一个人的时间和精力有限 你只能挑选几种甚至一种深入学习 没有基础的小白该从哪下手呢 不如就选python吧 我们主张从pyt