Python虽好,但别将它用于每一个项目!

栏目: IT技术 · 发布时间: 4年前

内容简介:【51CTO.com快译】最近我在Reddit上讨论了为什么有人会选择使用Python而不是其他编程语言。讨论很激烈,于是我决定写一篇文章。

Python虽好,但别将它用于每一个项目!

【51CTO.com快译】

最近我在Reddit上讨论了为什么有人会选择使用 Python 而不是其他编程语言。讨论很激烈,于是我决定写一篇文章。

首先,不妨讲讲我对Python的看法。这是我喜欢的一种编程语言,可以用于众多应用,不过我同意所有语言都有其缺点。我的确认为Python是适合专业人员使用的一种优秀语言,但也适合初学者探索迷人的编程世界。

话虽如此,我会在每个项目中使用Python吗?可能不会。但是Python在一些方面很擅长,我想重点介绍这方面并解释原因。

  • API开发
  • 数据科学/人工智能
  • 脚本编写

API开发

有一些出色的API开发框架可与Python结合使用,其中两个是开发社区最喜欢的框架:Django和Flask。

围绕API开发的讨论立即进入了Web框架的方向。为什么?这么说吧,如果你想致力于为API编写代码,就不该编写自己的Web服务器或框架。

一些人也主张将Python用于Web开发,不过我不喜欢将那些框架用于前端,我更喜欢使用React、VueJS或Ember构建前端。

如果你开始使用Python开发API,很可能最终会使用Django或Flask。所以你可能会问:我该使用哪一个?

Django VS Flask

这两种框架都很棒,而且适用于大多数情况。然而,它们遵循不同的理念。一些人更喜欢其中一种,两边都有充分的理由。由于这两种框架本质上大不相同,因此我仅介绍两者的大体区别,不过你应该详细了解,才能确定哪种框架最适合你和你的项目。

理念:

  • Flask是一种简约的框架。它提供了简单性、灵活性和细粒度控制。它是非固执己见的(你可以用它来做你想做的任何事情)。
  • 相反,Django是一个综合性框架。你可以直接为应用程序获得库、管理面板、数据库界面、ORM甚至可靠的目录结构。

如果你想了解更多的相关内容,请参阅此文: https://testdriven.io/blog/django-vs-flask/

数据科学/人工智能

无论何时想处理数据(比如数据抓取、数据分析、可视化、机器学习或AI),Python都是最好的朋友。这每一项任务都有许多重要的库,它们是出色的库,在研究环境和生产环境中使用率很高。

我不会详细介绍这些库,但想提及几个库:Pandas、Numpy、Matplotlib、Seaborn、Tensorflow、Pytorch、scikit-learn、Keras、NLTK和OpenCV。

由于这些库,你可以构建涉及几乎任何数据科学或AI主题的生产就绪的项目。虽然将Python用于其中一些应用存在一些缺点(比如性能),但在许多情况下,Python会是不错的选择。

我们在谈论哪一种项目?

通常,Python在数据科学和AI有许多应用。我在这里提及使用Python的几个常见项目:

  • 时间序列分析
  • 销售预测
  • 语言处理
  • 情绪分析
  • 推荐系统(比如音乐和视频等)
  • 分类
  • 计算机视觉
  • 自动驾驶汽车

脚本

脚本通常指旨在自动执行简单任务的小程序(通常通过命令行来执行)。

下面举几个例子表明我自己编写的脚本,这些脚本使我的日常工作流程实现自动化:

  • 我的博客:我使用Evernote收集在网上看到的所有内容,还撰写帖子。但是需要发布时,我记下那些笔记并将其作为草稿上传到我的博客中。这个过程在Python上自动进行:每当我将笔记标记为“准备发布”,我会运行Python脚本:将笔记、格式和草稿拷贝到我的博客系统中。当然,实际发布之前我总需要进行一番手动修改(主要是由于Evernote奇怪的HTML输出)。
  • 备份:我喜欢在云端备份资料,但我也在外部硬盘中留一份副本。我通常加密放到云端的所有内容(Evernote除外,它不允许我这么做)。但当我将备份内容放到硬盘时​​,会使用硬盘加密,我不想对其进行双重加密。当我想把数据备份到硬盘时,会运行一个python脚本,该脚本解密数据,然后将数据移到硬盘。

结论

Python是一种用途很广泛的编程语言,由于其社区和库,你几乎可以用它来做想做的任何事情,不过有时你不该使用它。没有哪种语言一应俱全:它们都有优缺点,Python也不例外。

话虽如此,我确实认为Python很棒;如果你很好奇,可以用它构建从游戏到嵌入式系统的各种应用。当然,那些可能不是生产就绪的项目。

原文标题:Python is great, but stop using it for every damn project

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【责任编辑:庞桂玉 TEL:(010)68476606】


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Implementing Responsive Design

Implementing Responsive Design

Tim Kadlec / New Riders / 2012-7-31 / GBP 27.99

New devices and platforms emerge daily. Browsers iterate at a remarkable pace. Faced with this volatile landscape we can either struggle for control or we can embrace the inherent flexibility of the w......一起来看看 《Implementing Responsive Design》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具