原文传送门:

https://medium.com/free-code-camp/what-can-you-do-with-python-the-3-main-applications-518db9a68a78

前言

如果您正在考虑学习Python—或者您最近才开始学习—您可能会问自己:

“我用Python到底能做什么?”

这个问题很难回答,因为Python有很多应用程序。

但随着时间的推移,我发现Python有3种主要的流行应用:

  1. Web开发
  2. 数据科学——包括机器学习、数据分析和数据可视化
  3. 脚本

web开发

基于Python(如Django和Flask)的Web框架最近在Web开发中非常流行。

这些web框架帮助您用Python创建服务器端代码(后端代码)。这是运行在服务器上的代码,而不是用户设备和浏览器上的代码(前端代码)。如果您不熟悉后端代码和前端代码的区别,请参阅我下面的脚注。

但是等等,为什么我需要一个web框架呢?

这是因为web框架更容易构建通用后端逻辑。这包括将不同的url映射到Python代码块、处理数据库和生成用户在浏览器上看到的HTML文件。

我应该使用哪种Python web框架?

Django和Flask是两个最流行的Python web框架。如果你刚刚开始,我建议你使用其中的一种。

Django和Flask有什么不同?

主要对比:

  • Flask提供了简单、灵活和细粒度的控制。它是无约束的(它让您决定如何实现事物)。
  • Django提供了一种全面的体验:为您的应用程序和项目提供了一个管理面板、数据库接口、ORM[对象-关系映射]和目录结构。

你应该选择:

  • 如果您关注经验和学习机会,或者您想要更多地控制使用哪些组件(例如您想要使用哪些数据库以及您想要如何与它们交互),那么您可以使用Flask。
  • Django,如果你专注于最终的产品。特别是如果您正在处理一个简单的应用程序,例如一个新闻站点、一个电子商店或博客,并且您希望总是有一个单一的、明显的做事方式。

换句话说,如果您是初学者,那么Flask可能是一个更好的选择,因为它需要处理的组件比较少。此外,如果您想要更多的定制,Flask是一个更好的选择。

另一方面,如果您希望直接构建一些东西,Django可能会让您更快地实现这一点。

数据科学

首先,让我们复习一下什么是机器学习

我认为解释机器学习的最好方法是给你们举个简单的例子。

假设您想要开发一个程序来自动检测图片中的内容。

因此,根据下面这张图(图1),您希望您的程序能够识别它是一只狗。

图1

考虑到下面的另一个(图2),您希望您的程序认识到它是一个桌子。

图2

你可能会说,我可以写一些代码来实现。例如,如果图片中有很多浅棕色的像素,那么我们可以说它是一只狗。或者,你可以找出如何检测图片的边缘。然后,你可能会说,如果有很多条直边,那么它就是一个表格。

然而,这种方法很快就会变得棘手。如果照片里有一只没有棕色毛发的白狗呢?如果这张图只显示了桌子的圆形部分呢?

什么是机器学习。

机器学习通常实现自动检测给定输入中的模式的算法。

比如说,你可以给一个机器学习算法提供1000张狗的图片和1000张桌子的图片。然后,它会学习狗和桌子之间的区别。当你给它一张狗或桌子的新图片时,它就能认出这是哪一张。

我认为这有点类似于婴儿学习新事物的方式。一个婴儿怎么知道一个东西长得像狗,而另一个东西长得像桌子?可能是从一堆例子中得到的。

你可能不会明确地告诉婴儿,“如果什么东西是毛茸茸的,长着浅棕色的毛,那么它可能是一只狗。”你可能会说:“那是一只狗。”这也是一只狗。这是一张桌子。那张也是桌子。”

机器学习算法也是如此。你可以把同样的想法应用到:

  • 推荐系统(想想YouTube、Amazon和Netflix)
  • 人脸识别
  • 语音识别

在其他应用程序中。你可能听说过的流行的机器学习算法包括:

  • 神经网络
  • 深度学习
  • 支持向量机
  • 随机森林

您可以使用上面的任何一种算法来解决我前面解释的图片标记问题。

机器学习中的Python

Python有很多流行的机器学习库和框架。其中最受欢迎的两个是scikit-learn和TensorFlow。

  • scikit-learn内置了一些更流行的机器学习算法。我上面提到了其中的一些。
  • TensorFlow更像是一个底层库,它允许您构建自定义机器学习算法。

如果你刚刚开始一个机器学习项目,我建议你先从scikit-learn开始。如果你开始遇到效率问题,那么我将开始研究TensorFlow。

我应该如何学习机器学习?

为了学习机器学习的基础知识,我推荐斯坦福吴恩达的机器学习课程。

https://www.coursera.org/learn/machine-learning

请注意,你需要微积分和线性代数的基础知识来理解这些课程中的一些材料。

然后,在Kaggle实践您从这些课程中学到的内容。这是一个网站,人们在这里竞争,为一个给定的问题建立最好的机器学习算法。他们也有很好的初学者教程。

使用Python进行数据分析/可视化

用于数据可视化的最流行的库之一是Matplotlib。这是一个很好的入门库,因为:这很容易开始

一些其他的库,比如seaborn就是基于它的。因此,学Matplotlib将帮助您以后学习这些其他库。

脚本

脚本是什么?

脚本编制通常是指编写用于使简单任务自动化的小程序。

那么,让我给你们一个我个人经历的例子。

我曾经在日本的一家小公司工作,那里有一个电子邮件支持系统。这是一个我们用来回复客户通过电子邮件发送给我们的问题的系统。

当我在那里工作的时候,我的任务是计算包含特定关键词的电子邮件的数量,这样我们就可以分析收到的电子邮件。我们可以手动完成它,但是我写了一个简单的程序/简单的脚本来自动化这个任务。

实际上,我们当时使用的是Ruby,但是Python也是完成这种任务的好语言。Python适合这种类型的任务,主要是因为它有相对简单的语法和易于编写。它还可以快速地用它编写一些小的东西并对其进行测试。

游戏呢?

你可以使用PyGame库来开发游戏,但它并不是最流行的游戏引擎。你可以用它来建立一个兴趣项目,但我个人不会选择它,如果你是认真的游戏开发。

相反,我建议您从Unity开始使用c#,它是最流行的游戏引擎之一。它允许你在许多平台上创建游戏,包括Mac, Windows, iOS和Android。

Python识别表格图_使用Python究竟可以做什么?下面是Python的3个主要应用相关推荐

  1. python制作流动图_可视化也能秀,教你用Python制作GIF动图

    欢迎大家关注 集智专栏 之前我们分享过用 Python 进行可视化的 9 种常见方式,大家还记得吗: 景略集智:超实用!用Python进行数据可视化的9种常见方法!​zhuanlan.zhihu.co ...

  2. vb6调用python识别训练例子_在vb6中创建的“标准”dll在python中调用时会出现访问冲突...

    从vb6dll导出函数的最简单方法是使用vbAdvance add-in,现在它是免费软件.在 您面临的问题是,您需要在调用导出的线程上初始化VB6运行时.这包括初始化COM单元(STA).最简单的方 ...

  3. Python识别璇玑图中诗的数量

    Python识别璇玑图中诗的数量 一.璇玑图简介 璇玑图的读法有很多,这里我使用七七棋盘格的读法,在璇玑图中分离出一个七七棋盘格,如下表 吏 官 同 流 污 合 玩 痞 悍 蒙 骗 造 假 蛋 鸡 宴 ...

  4. python识别图片文字_如何利用Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  5. python导出dxf图_在PDMS中使用python直接生成管口方位图(开源分享第三集)

    在PDMS中使用python直接生成管口方位图(开源分享第三集) 距离上一次发推送已有5个月之久,上周立了冬,这二季我为五斗米折了腰,最近才缓过气来. 令我没想到的是,大家竟然对这个主题这么有兴趣,有 ...

  6. python识别文字坐标_【Python 教程】使用 Python 和大漠插件进行文字识别

    家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...

  7. 怎么用python读取excel图_如何用Python读取Excel中图片?

    公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...

  8. python识别文字软件_【Python 教程】使用 Python 和大漠插件进行文字识别

    家里有一台win7系统的电脑,平时可以用来玩玩游戏消磨时间.但是有时候有一些重复的操作实在是无趣,所以打算写个脚本,让其自动化执行. 最终的目标就是把游戏里一些常用的操作都集合到脚本中去,且无序随机执 ...

  9. python制作表格处理_使用python处理excel表格——pandas(1)

    这里写目录标题 一.基本概念 二.内容 1.创建文件 A.创建空表格 B.创建非空表格 2.读取文件 A.读取整个表格 (1)读取有多个sheet的excel (2).title在首行 (3)titl ...

最新文章

  1. CocoaPods管理iOS的第三方类库
  2. 中断服务子程序(ISR)
  3. Lib详解--如何判断lib文件是静态库还是导入库
  4. HALCON示例程序max_connection.hdev确定分割区域的最大区域数目
  5. spark报错:invalid token
  6. java基础总结06-常用api类-BigDecimal-精确计算
  7. DLL错误之——无法加载DLL***.dll:找不到指定的模块(异常来自HRESULT:0x8007007E)问题的终极感悟
  8. 步进驱动系统:步进电机与步进驱动器控制原理简述
  9. esxi6.7.0最新版本下载
  10. Using RCU‘s CPU Stall Detector(待更新)
  11. 【CSS】单行图片与文字垂直居中
  12. 点击链接新窗口打开页面
  13. 记录一篇Spring 5的WebClient 的 重试问题
  14. ad中按钮开关的符号_零基础之常见按钮开关,图文一目了然!
  15. 【JavaWeb】本地文件传输协议(File://)
  16. java先删后保存数据库据功能,还在手工生成数据库文档?3个步骤自动完成了解一下...
  17. 第15课:scratchjr猜猜看
  18. php采购系统,jsp2161采购管理系统mysql
  19. LL-DASH CMAF 低延迟直播
  20. 中小企业进销存财务一体化上线业务方案

热门文章

  1. map unordered_map hash_map的查找性能测试
  2. go 并发安全map 分段锁实现
  3. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! iview-admin@2.0.0 dev: `vue-cli-service serve
  4. Hadoop权威指南 _04_第I部分Hadoop基础知识_第2章关于MapReduce
  5. 使用基本工具类和预编译进行对数据库的增删改查
  6. python lamda函数_python 用lambda函数替换for循环的方法
  7. kotlin学习之数据类(七)
  8. 02.操作系统概述.md
  9. 【图示解析】不同进制之间的表示与转换
  10. 算法竞赛入门经典|习题3-8, 循环小数(UVa202)