【.com速译】我最近在Reddit上讨论了为什么有人可能会选择使用Python而不是其他编程语言。讨论很激烈,所以我决定写一篇文章。首先说说我对Python的看法。它是一种我喜欢的编程语言,可以用于各种各样的应用程序,尽管我同意所有语言都有它们的缺点。我确实认为Python对于专业人士来说是一种优秀的语言,但对于初学者来说也是一种探索迷人的编程世界的语言。话虽如此,我会在每个项目中都使用Python吗?可能不会。但是Python擅长一些事情,我想强调这一点并解释原因。API开发数据科学/人工智能脚本API开发有一些很棒的AP??I开发框架可与Python一起使用,其中两个是开发社区的最爱:Django和Flask。围绕API开发的讨论立即转向了Web框架的方向。为什么?这样说吧,如果您想致力于为API编写代码,您不应该编写自己的Web服务器或框架。也有人提倡Python做web开发,但是我不喜欢用那些框架做前端,我更喜欢用React、VueJS或者Ember来搭建前端。如果您开始使用Python开发API,您很可能最终会使用Django或Flask。所以你可能会问:我应该使用哪一个?DjangoVSFlask这两个框架都很棒,适用于大多数情况。然而,他们遵循不同的哲学。有些人更喜欢其中之一,两者都有充分的理由。由于这两个框架在本质上非常不同,我只会描述两者之间的一般差异,但您应该了解细节以确定哪个框架最适合您和您的项目。理念:Flask是一个极简主义的框架。它提供了简单性、灵活性和细粒度控制。它是非固执己见的(你可以用它做任何你想做的事)。相比之下,Django是一个综合框架。您可以直接为应用程序获得库、管理面板、数据库接口、ORM甚至可靠的目录结构。如果你想了解更多,请参考这篇文章:https://testdriven.io/blog/django-vs-flask/。数据科学/AI每当你想处理数据(如数据抓取、数据分析、可视化、机器学习或AI)时,Python都是你最好的朋友。这些任务中的每一个都有许多重要的库,它们是在研究和生产环境中大量使用的优秀库。我不会详细介绍这些库,但想提几个:Pandas、Numpy、Matplotlib、Seaborn、Tensorflow、Pytorch、scikit-learn、Keras、NLTK和OpenCV。借助这些库,您可以构建涵盖几乎所有数据科学或AI主题的生产就绪项目。虽然在其中一些应用程序中使用Python存在一些缺点(例如性能),但在许多情况下,Python可能是一个不错的选择。我们在谈论哪种项目?总的来说,Python在数据科学和人工智能方面有很多应用。我在这里提到几个使用Python的常见项目:时间序列分析销售预测语言处理情感分析推荐系统(例如音乐和视频)分类计算机视觉自动驾驶汽车脚本脚本一般是指旨在自动执行简单任务(通常执行通过命令行)。以下是我编写的几个自动化日常工作流程的脚本示例:我的博客:我使用Evernote收集我在网上看到的所有内容并撰写帖子。但是到了发布的时候,我记下这些笔记并将它们作为草稿上传到我的博客上。这个过程在Python中是自动的:每当我将笔记标记为“准备发布”时,我都会运行一个Python脚本,将笔记、格式和草稿复制到我的博客系统。当然,我总是需要在实际发布之前进行一些手动编辑(主要是由于Evernote奇怪的HTML输出)。备份:我喜欢在云端备份我的东西,但我也会在外部硬盘上保留一份副本。我通常会加密我放在云中的所有内容(Evernote除外,它不允许我这么做)。但是当我把备份放到硬盘上时,使用了硬盘加密,我不想对其进行双重加密。当我想将数据备份到硬盘驱动器时,会运行一个python脚本来解密数据,然后将数据移动到硬盘驱动器。结论Python是一种非常通用的编程语言,由于它的社区和库,您几乎可以用它做任何您想做的事情,但有时您不应该这样做。没有一种语言是完美的:它们各有利弊,Python也不例外。话虽如此,我确实认为Python很棒;如果你很好奇,你可以用它来构建从游戏到嵌入式系统的一切。当然,这些可能不是生产就绪的项目。原标题:Python很棒,但不要在每个该死的项目上使用它
