如果您正在考虑应该在哪种编程语言上投入时间和精力,您现在可以停止搜索。是蟒蛇。
好吧,那是过于简单化了。诚然,您不会仅仅因为它“热”就跳入一个已经开发多年的 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 相对更容易上手,即使对于新手来说也是如此——这也是为什么它是编程课程介绍性语言的首选语言之一。
-
旧的和新的。与Visual Basic(似乎没有经受住时间的考验)或Go(相当新,2009 年 11 月)不同,Python 是一种_相对较_旧的语言(1990 年),正在积极开发中,事实证明它已经过时了好。
-
包括电池。与上面提到的_所有_语言不同,Python 有一个巨大的所谓标准库,涵盖了从特定领域到一般任务的各种任务。
所有这一切都使 Python 成为一种语言,它几乎可以_非常容易_地对任何东西进行原型制作,(甚至是不使用汇编程序的微控制器!)并立即推出最小可行产品。
更重要的是——是的,这是非常有偏见的,但是…… ——Python 很有趣!
但足够的赞美;让我们深入研究一下。我将重点介绍一些展示 Python 强大功能的工具。当然,还有更多的发现。
AI
如今,人工智能无处不在(我敢于让你找到一个随着人工智能的出现而无法改进的过程),而且它是_一个广阔的研究领域,Python 无疑在其中大放异彩_。
毫不奇怪,您会发现与数据科学部分的一些共同点,所以让我们稍后也赶上更多的包!
套餐
-
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_仍然_是一种通用语言,这意味着它可以为您做更多的事情。
套餐
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。