Python可以说是当今编程语言。我们将探讨为什么会出现这种情况,Python 社区的当前趋势是什么,以及如果您不想落后,您可能希望了解哪些包和工具。

如果您正在考虑应该在哪种编程语言上投入时间和精力,您现在可以停止搜索。是蟒蛇。

好吧,那是过于简单化了。诚然,您不会仅仅因为它“热”就跳入一个已经开发多年的 Java 项目,只是为了将所有代码移植到 Python 中。编程语言是达到目的的一种手段,您必须仔细考虑采用给定技术的成本/收益。

也就是说,当事情朝着某个方向大规模发展时,这一定意味着什么。一段时间以来,事情一直在向 Python 发展。

想要提升您的 Python 技能并在快速增长的市场中脱颖而出?查看SitePoint 高级版!您会找到帮助您入门的书籍(例如The Python Apprentice)和培养工作准备技能(例如Python 中的前端测试)。通过The Python Master提高您的技能,并访问不断增长的包含 400 多本关于网页设计和开发的书籍和课程的图书馆。

向国王致敬

如今,几乎所有本科 IT 课程都使用 Python 进行授课——而不仅仅是公司或大学提供的计算机科学入门课程。即使是关于数据科学、人工智能或量化金融的高度专业化课程——不久前还会使用 R、MATLAB 或 C++ 等语言——现在也更多地使用 Python 教授。

查看过去五年中截至 2019 年的趋势,比较 Python、Java、C++ 和 PHP:

很有说服力,不是吗?

在更大的时间跨度内更全面的语言列表怎么样?当然:

那是怎么发生的?

有大量 文章探讨 了 Python 为何如此受欢迎,但作为复习,让我们在这里开始一场激烈的战争,并简要讨论一下它与其他语言的比较:

  • 易于学习。与C++或Java不同,Python 相对更容易上手,即使对于新手来说也是如此——这也是为什么它是编程课程介绍性语言的首选语言之一。
  • 通用。与PHP(用于 Web 编程)或R(用于统计分析)不同,Python 适用于许多任务。
  • 旧的和新的。与Visual Basic(似乎没有经受住时间的考验)或Go(相当新,2009 年 11 月)不同,Python 是一种相对较旧的语言(1990 年),正在积极开发中,事实证明它已经过时了好。
  • 包括电池。与上面提到的所有语言不同,Python 有一个巨大的所谓标准库,涵盖了从特定领域到一般任务的各种任务。

所有这一切都使 Python 成为一种语言,它几乎可以非常容易地对任何东西进行原型制作,(甚至是不使用汇编程序的微控制器!)并立即推出最小可行产品。

更重要的是——是的,这是非常有偏见的,但是…… ——Python 很有趣!

但足够的赞美;让我们深入研究一下。我将重点介绍一些展示 Python 强大功能的工具。当然,还有更多的发现。

AI

如今,人工智能无处不在(我敢于让你找到一个随着人工智能的出现而无法改进的过程),而且它是一个广阔的研究领域,Python 无疑在其中大放异彩

毫不奇怪,您会发现与数据科学部分的一些共同点,所以让我们稍后也赶上更多的包!

套餐

  • 火炬。基于Torch的新机器学习框架。它通过 GPU 实现强大的加速以利用深度神经网络(DNN),从而迅速获得动力。
  • scikit-学习。一个非常易于使用的机器学习库(例如,用六行代码训练一个监督学习算法),具有用于数据挖掘和数据分析的简单高效的工具。
  • TensorFlow。还有更多的机器学习,但具有数据流和可微分编程。对于使用神经网络开发深度学习模型也非常强大。

云开发

您能想到的所有集成,包括移动、物联网(IoT)、各种 API,甚至管理和配置基础设施即代码(IaC)——所有这些都意味着云。

作为一名 Python 程序员,这意味着您有机会在无服务器执行模型中开发微服务

套餐

  • Django REST 框架。一个强大而灵活的工具包,用于构建可浏览的 Web API。它支持序列化、身份验证策略和视图自定义等功能。在 Django 上运行,它也有很好的文档记录。
  • 鼠兔。RabbitMQ的纯 Python 实现,这是一个大规模、高可用性的消息代理,允许跨不同平台和系统进行异步消息传递。
  • 无服务器框架。在使用 Node.js 开发时,if 提供了关于如何构建 Python 应用程序并将其部署到 Amazon Web Services (AWS)、Google Cloud Platform (GCP) 和 Microsoft Azure的示例。

此外,熟悉AWS LambdaAmazon API GatewayCloud FunctionsAzure Functions也很好。这些是您将用来将 Python 代码实际部署到云中的 Amazon、Google 和 Microsoft 服务。

加密货币和金融

我不会在这里讨论比特币和其他加密货币是否是经济泡沫(它们是!),因为这会引发无休止的激烈辩论。

但有一件事是肯定的:*区块链技术的使用比加密货币和ICO更进一步。)

如果您想深入研究金融方面,您可以将这些知识应用到所有金融市场——包括加密货币。

套餐

Python 主要用作服务器端语言,而不是客户端(例如钱包)。考虑到这一点,要开发区块链,您实际上可以使用 TensorFlow 和 Django 等框架(有关详细信息,请分别参见 AI 和 Web 开发部分)。

也就是说,有一些与区块链和金融相关的软件包可能会派上用场,例如api-v1-client-python(区块链比特币开发人员 API)和SmartPy ( Tezos的智能合约语言)。

对于定量分析,请查看 pandas(参见数据科学部分)和Zipline(python 算法交易库)。

数据科学

就像 AI 一样,Python 在 R 和 MATLAB 等参与者中庄严地证明了它在数据科学领域的地位。

说实话,虽然不是通用工具,但与 Python 相比,这些其他语言在性能和功能方面确实具有优势。然而,现在情况不再如此,因为 Python 从那时起已经走过了漫长的道路,几乎没有任何给定的任务你不能在 Python 中像在这些其他平台上那样有效地执行——如果不是更有效的话。Python仍然是一种通用语言,这意味着它可以为您做更多的事情。

套餐

  • 数字货币。Python 遇上 MATLAB:支持大型多维数组和矩阵的线性代数,以及用于操作它们的大量高级数学函数。
  • 熊猫。用于数据分析的高性能、易于使用的数据结构,特别是数值表和时间序列的数据操作。看看这个数据学校的视频系列!
  • 科学派。科学和技术计算例程,包括统计、优化、数值积分、插值、特殊函数、 FFT、信号和图像处理以及ODE求解器。

Web 开发和移动应用程序

是的,Web 开发仍然是 2020 年的事情!谁知道?如果你问我,不仅网络开发还有很多年,而且网络和移动应用程序之间的界限只会变得更加模糊。

诚然,Python 在这里可能不会发挥主导作用,但有一个优势:您可以更轻松地进行项目管理,移动团队成员,因为您正在使用的生态系统的其他端很可能将使用 Python 开发.

换句话说,作为一名 Python 玩家,你可以玩很多游戏。

套餐

  • 烧瓶。一个轻量级的 Web 应用程序框架。作为一个微框架,它不需要特定的工具或库,这也意味着没有数据库抽象层。但有时极简主义和性能是游戏的名称。
  • 姜戈。“为有期限的完美主义者设计的网络框架”(我真的很喜欢这个标语!)快速、安全和可扩展,它的对象-关系映射(ORM) 和模型-模板-视图 (MTV) 系统非常好,以至于许多人都使用该框架即使是非网络相关的工作。Instagram、Spotify、Pinterest、Dropbox 甚至 YouTube 都是使用 Django 构建的网站的示例。
  • KivyBeeWare。简而言之,Kivy 用于开发跨平台的 GUI,而 BeeWare 用于开发原生的多平台应用程序,包括桌面和移动设备。与Ionic相比,他们仍然是谦虚的球员,但在不久的将来情况可能会发生变化。

额外:你应该拥有的工具

iPython最初是作为“交互式计算”(实时输入和执行代码)的工具出现的,但很快一群开发人员意识到它背后的想法有很大的潜力,他们创建了Project Jupyter作为衍生产品。

后来,JupyterLab出现,它将“笔记本接口”(可执行代码、输出和您可以共享的注释)的概念提升到一个新的水平,支持一系列语言,而不仅仅是 Python。试试看!

最后,以类似于R Studio 的Shiny的方式,Jupyter 生态系统引入了Voilà,它“将 Jupyter 笔记本变成了独立的 Web 应用程序”。查看Voilà 仪表板图库。这是相当令人印象深刻的。

因此,如果您还没有,您真的应该熟悉这些工具。它们将极大地简化您的工作流程,允许更快地测试和共享代码。

包起来

没有什么是永恒的,也许最值得注意的是在 IT 领域。如果我们可以从介绍中最流行的编程语言 1965-2019剪辑中得出结论,那么编程语言来来去去。是的,现在国王是一条无毒蛇,但如果有一天你听到群众的喧嚣,你不会感到惊讶:国王死了,国王万岁!

尽管这似乎不会很快发生但我们在这里审查的许多工具和软件包肯定会被竞争对手取消维护、停产、分叉或接管。我们知道,尽管学习以新方式或使用新工具做事很有趣,但如果您已经有了工作流程,也可能会很痛苦。但是,嘿,如果我们希望事情保持不变,我们就不会谈论技术,对吧?

所以保持警惕,时刻保持警惕,密切关注PyCon ——包括你所在城市的会议和YouTube 上的剪辑——以了解即将发生的新情况。并且不要回避每隔一段时间尝试新事物。这样,您将保持良好的状态。


使用SitePoint Remote找到您的下一个远程 Python 工作,我们在这里为开发人员、设计师和数字专业人士挑选最好的远程工作。如果对Python有兴趣,想了解更多的Python以及AIoT知识,解决测试问题,以及入门指导,帮你解决学习Python中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己Python方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们,可领取最新Python大厂面试资料和Python爬虫、人工智能、学习资料!微信公众号【Python大本营】等你来玩奥~

Python 趋势:当今最热门语言的热门话题相关推荐

  1. python scratch unity_极客晨星:少儿编程热门语言,除了Scratch还有哪些

    现如今少儿编程课程已经火遍全国,家长都会了解Scratch,但过了兴趣培养期,这种语言就不再适合孩子继续深入学习编程.那么除了Scratch还有那些热门的编程语言适合少儿学习呢?今天极客晨星就来介绍几 ...

  2. Go进阶:Go语言最热门的开源Web开发框架总结

    Go语言是近年来备受关注的一种编程语言,它以其高效.安全.简洁的特点受到了越来越多的开发者的喜爱.在Web开发方面,Go也有着自己的一些框架,本篇文章将详细总结一下Go语言的Web开发框架的特点以及各 ...

  3. 在腾讯,Go首次超越C++成为最热门语言!

    腾讯人最爱的编程语言是什么?这么多的程序员每天提交多少行代码,改bug要耗费多长时间等等? 这些大家关心的问题,在今天刚刚发布的<2021年腾讯研发大数据报告>中给出了答案. 这份由腾讯技 ...

  4. python爬快手个人介绍_抖音爬腻了,安卓爬腻了?python爬取快手ios端首页热门视频!...

    最近快手这种小视频app,特别的火,中午吃过午饭,闲来无聊,想搞下快手的短视频,看能不能搞到. 于是乎, 打开了fiddler,开始准备抓包,学习Python中有不明白推荐加入交流群 号:864573 ...

  5. 【情感打分+情感判定+词云图】python情感分析李子柒频道视频热门英文评论

    目录 一.事件背景 二.python代码讲解 三.同步讲解视频 四.获取python源码文件 一.事件背景 今天是2021.12.2日,距离李子柒断更已经4个多月了,这是我在YouTube李子柒油管频 ...

  6. python和java和c语言的区别,python和java哪个更值得学

    java和python是什么? java和python都是一种面向对象的语言.Java是一种面向对象的语言,有着和C/C++近似的语法.它是动态链接,允许新的代码在运行时加载与运行,而不是动态类型的. ...

  7. Python再夺冠,上古语言COBOL大流行,IEEE Spectrum 2020年度编程语言排行榜出炉!...

    整理 | 屠敏 题图 | 东方 IC 出品 | CSDN 博客 领域驱动技术,技术鞭策领域. 近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜.IEEE Spectrum ...

  8. 为什么说Python是伟大的入门语言

    文章讲的是为什么说Python是伟大的入门语言,本文作者列举了一些Python特性,并认为Python是最适合入门的编程语言,一起来看一下. 最近发表了三篇关于我的艺术史背景是如何影响我教学的文章.现 ...

  9. python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...

    Python 是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言.C++.Java 是强类型语言的代表. 下面我们以 C++ 为例来演示强类型语 ...

最新文章

  1. Linux操作系统中内存buffer和cache的区别
  2. 科技部部长:院士头衔不是学术不端挡箭牌、铁帽子!已有多位院士及候选人、校长、教授等被“拿下”...
  3. IT公司100题-27-跳台阶问题
  4. 神经网络 Stanford UFLDL
  5. tensolrflow之基础变量
  6. 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!...
  7. selenium自动化测试_49自动化测试中最常见的Selenium异常
  8. 基于视觉的烟雾/火焰检测数据集整理(检测、识别、分割)
  9. echarts的dataZoom属性在移动端 h5+环境中无法左右滑动问题
  10. Audio strage 声音相关
  11. 智能优化算法:乌鸦搜索算法-附代码
  12. 《剑指offer》面试题18——树的子结构(C++)
  13. Yii2中Component和Object的使用方法
  14. 视频教程-visio 2010基础培训视频教程-Office/WPS
  15. 汽车轮毂识别定位检测
  16. 地球上第一款测身高的安卓手机应用——AR 测身高
  17. web笔记day12
  18. sql 大于 小于 大于等于 小于等于 符号
  19. Redis技术架构演进
  20. 无线网经常短连接服务器,我家的无线网不稳定,经常掉线,每次玩游戏到加载的时候,总会出现:”无法连接服务器,请检查您的网络“...

热门文章

  1. 在地址栏上输入一个url,到这个页面呈现出来,中间会发生什么?
  2. offer_II_109开密码锁
  3. 计算机辅助制图CAC,cac-
  4. Java如何实现实时消息提醒???
  5. 在线支付各类错误提示
  6. window10/11 更改AHCI模式启动蓝屏解决办法
  7. 武林外传手游怎么在电脑上玩,武林外传安卓模拟器电脑版教程
  8. Java自定义注解实现校验参数不能为空
  9. spring boot 设置 wagon 自动打包部署插件在 debug 模式下运行就不打包部署
  10. 电脑计算机和用户区分,电脑32位和64位的区别是什么