专栏首页不仅仅是python你究竟能用Python做什么?

你究竟能用Python做什么?

你究竟能用Python做什么? 这是Python的3个主要应用。

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

“我究竟可以使用Python做什么?”

嗯,这是一个棘手的问题,因为有很多应用程序都可以使用python。但随着时间的推移,我发现Python有三个主要的流行应用程序:

  • Web开发
  • 数据科学 - 包括机器学习,数据分析和数据可视化
  • 自动化脚本

让我们依次谈谈它们中的每一个。

Web开发

最近基于Python的Web框架(如Django和Flask)在Web开发中变得非常流行。这些Web框架可帮助您在Python中创建服务器端代码(后端代码)。 这是在您的服务器上运行的代码,而不是用户的设备和浏览器(前端代码)。 如果您不熟悉后端代码和前端代码之间的区别,请参阅下面的脚注。

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

这是因为Web框架使构建通用后端逻辑变得更容易。 这包括将不同的URL映射到Python代码块,处理数据库以及生成用户在其浏览器上看到的HTML文件。

我应该使用哪个Python Web框架?

Django和Flask是两个最流行的Python Web框架。 如果你刚入门,我建议你使用其中一个。

Django和Flask有什么区别?

Gareth Dwyer有一篇关于这个主题的优秀文章 ,所以我在这里引用它:

<开始 >

主要对比:

  • Flask提供简单,灵活和细粒度控制。 (它可以让你决定如何实现它)。
  • Django提供了一个包罗万象的体验:您可以获得管理面板,数据库接口, ORM [对象关系映射]以及开箱即用的应用程序和项目的目录结构。

你应该选择:

  • Flask,如果您专注于体验和学习机会,或者您想要更多地控制使用哪些组件(例如您想要使用哪些数据库以及如何与它们进行交互)。
  • Django,如果你专注于最终产品。 特别是如果你正在开发一个直接的应用程序,如新闻网站,电子商店或博客,你希望总是有一种明显的做事方式。

<结束>

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

另一方面,如果你想要直接构建一些东西,Django可能会让你更快地实现。

数据科学 - 包括机器学习,数据分析和数据可视化

首先,让我们回顾一下机器学习什么。

我认为解释机器学习的最佳方法是给你一个简单的例子。假设您想要开发一个程序来自动检测图片中的内容。

因此,如下图(图1),您希望程序识别出它是一只狗。

图片1

鉴于下面的另一个(图2),您希望程序识别它是一张桌子。

图片2

你可能会说,好吧,我可以写一些代码来做到这一点。 例如,如果图片中有很多浅棕色像素,那么我们可以说它是一只狗。

或者,您可以弄清楚如何检测图片中的边缘。 然后,你可能会说,如果有很多直边,那么它就是一张桌子。

但是,这种方法很快变得棘手。 如果照片中有一只没有棕色头发的白狗怎么办? 如果图片只显示的是圆形桌子怎么办?

这就是机器学习的用武之地。

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

你可以给机器学习算法1000张狗的照片和1000张桌子的照片。 然后,它将学习狗和桌子之间的区别。 当你给它一张狗或桌子的新图片时,它将能够识别它是哪一个。

我认为这有点类似于婴儿学习新事物的方式。 宝宝怎么知道这个动物看起来像狗,另一个看起来像一张桌子? 可能来自一堆例子。

你可能没有明确地告诉婴儿,“如果有毛茸茸的东西,有浅棕色的头发,那么它可能是一只狗。”

你可能会说,“那是一只狗。 这也是一只狗。 这是一张桌子。 那个也是一张桌子。“

这和机器学习算法的工作方式大致相同。

您可以将相同的想法应用于:

  • 推荐系统(亚马逊和Netflix)
  • 人脸识别
  • 语音识别

等应用程序。

您可能听说过的流行机器学习算法包括:

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

您可以使用上述任何算法来解决我之前解释过的图片标注问题。

Python在机器学习方面中的应用,包括流行的机器学习库和Python框架。

其中两个最受欢迎的是scikit-learn和TensorFlow 。

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

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

我该如何学习机器学习?

要学习机器学习基础知识,我会推荐斯坦福大学或加州理工学院的机器学习课程。请注意,您需要微积分和线性代数的基本知识才能理解这些课程中的一些材料。

然后,我会推荐你用Kaggle, 这是一个为特定问题构建最佳机器学习算法的网站。 他们也为初学者提供了很好的教程。

那么数据分析和数据可视化呢?

为了帮助您了解这些可能是什么样子,让我在这里给您一个简单的例子。假设您正在为一家在线销售某些产品的公司工作。然后,作为数据分析师,您可以绘制这样的条形图。

条形图1 - 使用Python生成

从这张图中,我们可以看出,男性购买了超过400个单位的产品,女性在这个特定的星期天购买了约350个单位的产品。

作为数据分析师,您可能会对这种差异提出一些可能的解释。一个明显可能的解释是,这种产品比男性更受男性欢迎。 另一种可能的解释可能是样本量太小而且这种差异只是偶然造成的。 而另一种可能的解释可能是,男性倾向于仅在周日因某种原因购买该产品。

要了解哪些解释是正确的,您可能会绘制另一个这样的图表。

折线图1 - 用Python生成

我们不是仅显示星期日的数据,而是查看整整一周的数据。 如您所见,从这张图中,我们可以看到这种差异在不同的日子里非常一致。从这个小小的分析中,你可以得出结论,对这种差异最有说服力的解释是,这种产品更容易受到男性的欢迎,而不是女性。

另一方面,如果你看到像这样的图表怎么办?

折线图2 - 也是用Python生成的

那么,是什么解释了周日的差异?

你可能会说,也许男人往往只是因为某种原因在周日购买更多的这种产品。 或者,也许只是巧合,周日男人买了更多。

因此,这是数据分析在现实世界中可能看起来像的简化示例。

一般思路是使用SQL来从我们的数据库中提取数据。 然后,我会使用Python和Matplotlib或JavaScript和D3.js来可视化和分析这些数据。使用Python进行数据分析/可视化

Matplotlib是最受欢迎的数据可视化库之一 。这是一个很好的python库,因为:

  • 它很容易上手
  • 其他一些图书馆如seaborn就是基于它的。 因此,学习Matplotlib将帮助您稍后学习这些其他库。

脚本

什么是脚本?

脚本通常是指编写旨在自动执行简单任务的小程序。

那么,让我举一个我个人经历的例子。

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

当我在那里工作时,我的任务是计算包含某些关键字的电子邮件的数量,以便我们分析收到的电子邮件。

我们可以手动完成它,但是,我编写了一个简单的程序/简单脚本来自动执行此任务。

实际上,我们当时使用Ruby,但Python也是这类任务的好语言。 Python适合这种类型的任务,主要是因为它具有相对简单的语法并且易于编写。 用它写一些小东西并测试它也很快。

嵌入式应用程序?

我不是嵌入式应用程序方面的专家,但我知道Python可以与Rasberry Pi一起使用。 它似乎是硬件爱好者中的一种流行应用。

游戏怎么样?

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

相反,我建议开始使用Unity与C#,这是最受欢迎的游戏引擎之一。 它允许您为许多平台构建游戏,包括Mac,Windows,iOS和Android。

桌面应用程序怎么样?

您可以使用Tkinter制作,但它似乎也不是最受欢迎的选择。相反,似乎Java,C#和C ++等语言更受欢迎。

最近,一些公司也开始使用JavaScript来创建桌面应用程序。

例如,Slack的桌面应用程序是用Electron构建的 。 它允许您使用JavaScript构建桌面应用程序。

就个人而言,如果我正在构建一个桌面应用程序,我会使用JavaScript选项。 它允许您重用Web版本中的一些代码(如果有的话)。但是,我也不是桌面应用程序方面的专家,所以如果您不同意或同意我的意见,请在评论中告诉我。

Python 3还是Python 2?

我会推荐Python 3,因为它更现代,而且在这一点上它是一个更受欢迎的。

文章转载自:

https://www.freecodecamp.org/news/what-can-you-do-with-python-the-3-main-applications-518db9a68a78/

希望大家对python有个更好的了解与认识。

关注公号

下面的是我的公众号二维码图片,欢迎关注。

yale记公众号

本文分享自微信公众号 - yale记(python_yale_learning),作者:yale记

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 什么是机器学习?

    除了机器学习(ML)工作定义之外,我们还旨在简要概述机器学习的基本原理,让机器“思考”的挑战和局限性,以及今天深入解决的一些问题学习(机器学习的“前沿”),以及...

    亚乐记
  • web爬虫-用Scrapy抓个网页

    Scrapy是一种快速的高级Web爬虫和Web抓取框架,用于抓取网站并从其页面中提取结构化数据。它可用于各种用途,从数据挖掘到监控和自动化测试。

    亚乐记
  • 数据分析-大熊猫来了

    答案当然不是!!!!今天我们学习的是一个python中用来用于数据分析,操作和可视化的全功能数据分析库pandas~~~先来学习如何读取表格数据文件使用pand...

    亚乐记
  • 我是如何入门机器学习的呢

    机器学习在很多眼里就是香饽饽,因为机器学习相关的岗位在当前市场待遇不错,但同时机器学习在很多人面前又是一座大山,因为发现它太难学了。在这里我分享下我个人入门机器...

    abs_zero
  • 移动开发工具推荐

    Android:豌豆夹,快速连接手机的利器。腾讯的应用宝也好,360的手机助手也好,在插入USB之后,确实不如豌豆夹好使,谁用谁知道。如果连接了USB还是不能识...

    meteoric
  • 零基础如何自学Python,有Python的学习路线图吗?

    在Python的学习教程中,在讲到相应的语法规则的时候,必定有相应的案例,Python新手应按部就班的敲一遍代码,切记不可直接抄写,而是默写,然后进行对比,及时...

    python学习教程
  • 在学习Python的道路上,我们应该如何走好这条路

    当你决定入门 Python 时,需要有一个清晰且短期内可实现的目标,比如通过学习找一份初级程序员工作,目标明确后,你需要知道企业对 Python 程序员的技能有...

    企鹅号小编
  • 【陆勤践行】机器学习最佳入门学习资料汇总

    这篇文章的确很难写,因为我希望它真正地对初学者有帮助。面前放着一张空白的纸,我坐下来问自己一个难题:面对一个对机器学习领域完全陌生的初学者,我该推荐哪些最适合的...

    陆勤_数据人网
  • 机器学习最佳入门学习资料汇总

    专为机器学习初学者推荐的优质学习资源,帮助初学者快速入门。 这篇文章的确很难写,因为我希望它真正地对初学者有帮助。面前放着一张空白的纸,我坐下来问自己一个难题:...

    陆勤_数据人网
  • 利用深度学习生成梵高风格画像

    现在人工智能是个大热点,而人工智能离不开机器学习,机器学习中深度学习又是比较热门的方向,本系列文章就从实战出发,介绍下如何使用MXnet进行深度学习~ 既然是实...

    IT派

作者介绍

亚乐记

founder软件开发工程师

founder · 软件开发工程师 (已认证)

精选专题

活动推荐

扫码关注云+社区

领取腾讯云代金券