作者:等号拖轮_496 | 来源:互联网 | 2023-10-12 17:16
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 强大功能的工具。当然,还有更多的发现。
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 Lambda、Amazon API Gateway、Cloud Functions和Azure 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 构建的网站的示例。
- Kivy和BeeWare。简而言之,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大本营】等你来玩奥~