python3和python,Python3入门

  python3和python,Python3入门

  如果你正在考虑学习Python,或者你最近刚刚开始,你可能会问自己:

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

  这是一个棘手的问题,因为Python有很多用途。但久而久之,我发现Python主要可以用在以下三个方面:

  开发网络数据科学3354包括机器学习,数据分析和数据可视化脚本。让我们依次来看一下。

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

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

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

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

  我应该用哪个Python web框架?

  DjangoFlask是两个最流行的Python web框架。如果你刚刚开始学习,你可以使用其中任何一种。

  Django和Flask有什么区别?

  Gareth Dwyer有一篇关于这个话题的非常好的文章。我在这里引用一下:

  引用开始

  主要比较:

  Flask提供了简洁、灵活和细粒度的控制。很客观(让你自己决定怎么实现自己想要的)。Django提供了无所不包的体验:您可以开箱即用地获得管理面板、数据库接口、ORM(对象关系映射)以及应用程序和项目的目录结构。你应该选择:

  Flask,如果你注重经验和学习机会,或者你想对你选择的组件有更多的控制权(比如你想用哪个数据库,如何与它们交互)。姜戈,如果你专注于最终产品。尤其是如果你正在开发一个简单的应用程序(比如新闻网站、电子商店或博客),并且希望有一个简单的方法。/引用结束

  换句话说,如果你是初学者,Flask可能是更好的选择,因为使用的组件更少。如果想要更多的定制,那么Flask也是更好的选择。

  而且据我的朋友Jonathan T Ho,一个数据工程师说,Flask更适合创建那些所谓的REST API,因为它比Django更灵活。

  另一方面,如果你想构建简单的东西,Django会让你更快地达到目标。

  好了,接下来说下一个!

  数据科学——包括机器学习,数据分析和数据可视化首先,我们来回顾一下什么是机器学习。

  我觉得解释什么是机器学习最好的方法就是举个例子。

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

  因此,对于下图(图1),你希望你的程序识别出这是一只狗。

  图1

  对于下图(图2),您希望您的程序识别出它是一个表格。

  图2

  你可能会说,我只用几行代码就能做到。举个例子,如果图片中有很多浅棕色的像素,那么我们就可以说它是一只狗。

  或者,您可以找到一种方法来检测照片中的边缘。然后,你可能会说,如果有很多直边,那么它就是一张桌子。

  然而,这种方法很快就遇到了麻烦。如果图片是一只没有棕毛的白狗呢?如果图片只显示了桌子的圆形部分呢?

  轮到机器学习大显身手了。

  机器学习可以实现一些算法,这些算法可以自动检测给定输入中的模式。

  比如你提供一个机器学习算法,有1000张狗的照片,1000张桌子的照片。然后,它会学习区分一只狗和一张桌子。当你给一张新的狗或桌子的图片时,它将能够识别这是一只狗还是一张桌子。

  我觉得有点类似于婴儿学习新事物。婴儿怎么知道一个东西像狗,另一个东西像桌子?可能是从大量的例子中学到的。

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

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

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

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

  推荐系统(比如YouTube、亚马逊和网飞使用的系统)面部识别语音识别你可能听说过的流行的机器学习算法包括:

  神经深度学习支持向量机随机森林你可以用上面任何一种算法来解决我刚才解释的图像标注问题。

  有一些流行的Python机器学习库和框架,用于使用Python进行机器学习。最受欢迎的两个是scikit-learnTensorFlow

  Scikit-learn附带了一些更受欢迎的内置机器学习算法。我刚才提到了其中的几个。TensorFlow更像是一个底层库,允许你构建定制的机器学习算法。如果你刚开始一个机器学习项目,那么我建议你先用scikit-learn。如果你开始遇到效率问题,那么我建议TensorFlow。

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

  学习机器学习的基础知识,我建议上斯坦福或者加州理工的机器学习课程。

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

  然后,我会用Kaggle来实践我从课程中学到的东西。Kaggle是一个网站,每个人都可以竞争谁能为给定的问题建立最好的机器学习算法。网站上也有不错的新手教程。

  数据分析和数据可视化呢?为了帮助你理解,我在这里举一个简单的例子。假设你在一家在线销售产品的公司工作。

  然后,作为数据分析师,你可能会画一个类似的条形图。

  1-条形图-由Python生成

  从这张图我们可以看到,在某个特定的周日,对于某个产品,男性购买了400多件,女性购买了350件左右。

  作为数据分析师,您可能会对这些差异做出几种可能的解释。

  一个显而易见的可能解释是,该产品在男性中比在女性中更受欢迎。另一种可能的解释是样本量太小,这种差异偶尔会出现。另一个可能的解释是,在周日,出于某种原因,男性比女性更倾向于购买该产品。

  为了找出哪个解释是正确的,你可以再画一张图,如下图所示:

  折线图1-由Python生成

  我们不再只显示周日的数据,而是显示一周的数据。大家可以看到,从这张图中,我们可以看到这种差异在不同的日子里是一致的。

  从这个简单的分析中,你可能会得出这样的结论:这种差异最有说服力的解释之一是,这种产品更受男性的欢迎,而非女性。

  另一方面,如果你看到下图会怎样?

  折线图2——也是由Python生成的

  那么,你如何解释周日出现的差异呢?

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

  好了,这是一个简化的例子,展示了现实世界中数据分析的样子。

  我在谷歌和微软工作的时候做过数据分析,和这个例子很像,但是更复杂。事实上,当我在谷歌工作时,我使用Python来做这种分析,而当我在微软时,我使用JavaScript。

  我在这两家公司工作的时候,用SQL从数据库中提取数据。然后,我会用Python和Matplotlib(在Google工作时)或者JavaScrip和D3.js(在微软工作时)进行数据可视化和分析。

  使用Python进行数据分析/可视化的最流行的数据可视化库之一是Matplotlib。

  起初,它是一个好图书馆,因为:

  很好用。其他库,比如seaborn,都是基于它的。所以学习Matplotlib可以帮助你以后学习其他库。我应该如何学习用Python进行数据分析/可视化?

  首先,你要学习数据分析和可视化的基础知识。网上没有找到相关的好资源。所以最后我在YouTube上做了相关视频(用Python和Matplotlib做的数据分析/可视化入门课程)。

  我还在Pluralsight上完成了整个相关课程。如果你报名参加他们的10天免费试用,你就可以免费获得这门课程。

  我向你推荐他们两个。

  在学习了数据分析和可视化的基础知识之后,在Coursera和可汗学院上学习统计学的基础知识也是有帮助的。

  脚本什么是脚本编写?

  一般来说,脚本是指编写小程序来自动化简单的任务。

  我举一个我亲身经历的例子。

  我曾经在日本一家初创的小公司工作。我们有一个电子邮件支持系统,用于回答客户通过电子邮件发送给我们的问题。

  我在那里工作的时候,我的任务是统计带有特定关键词的邮件数量,这样我们就可以对收到的邮件进行分析。

  我们应该使用手动统计,但我编写了一个简单的程序/脚本来自动完成任务。

  实际上,在那个时候,我们使用Ruby来编写脚本,但Python也是此类任务的良好语言选择。Python适合这种类型的任务,主要是因为它具有相对简单的语法,并且易于编写。不用花太多时间写小程序,用它测试。

  那些嵌入式应用呢?我不擅长嵌入式应用,但我知道Python可以和Rasberry Pi一起工作。在那些硬件爱好者中很受欢迎。

  游戏呢?你可以使用PyGame库来开发游戏,但它并不是最流行的游戏引擎。如果你把游戏当成爱好,可以用来做项目,但是如果你真的想做游戏开发,我个人不建议选择。

  相反,我推荐你使用Unity的C#脚本,这是最流行的游戏引擎之一。它允许你在许多平台上构建游戏,包括:Mac,Windows,iOS和Android。

  那么,桌面应用呢?可以使用Python的Tkinter进行开发,但这似乎不是最受欢迎的选择。

  相反,用Java、C#和C等语言开发桌面应用似乎更受欢迎。

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

  比如Slack的桌面应用就是用电子构建的。它允许您用JavaScript构建桌面应用程序。

  就我个人而言,如果我想构建一个桌面应用程序,我会使用JavaScript。它允许你重用网页版的一些代码(如果有的话)。

  Python 3还是Python 2?我会推荐Python 3,因为它更现代,也是目前比较流行的。

  脚注:对于后端代码和前端代码的的说明(万一您对这些术语不熟悉)。假设你想做类似Instagram的东西。

  然后,您需要为想要支持的每个设备创建前端代码:

  用于iOS设备的Swift用于Android设备的Java用于web浏览器的JavaScript每组代码将在相应类型的设备/浏览器上运行。这组代码将决定应用的布局的外观,按钮单击时的外观,等等。

  但是,您仍然需要存储用户信息和照片的能力。除了将这些信息存储在用户的设备供应商中,您还会希望将这些信息存储在服务器上,以便每个用户的关注者都可以看到该用户的照片。

  这就是后端代码/服务器端代码的用武之地。您需要编写后端代码来完成以下任务:

  跟踪谁在关注谁压缩了照片,以免占用太多存储空间。只需在发现功能中向每个用户推荐照片和新账号即可。这就是后端代码和前端代码的区别。

  顺便说一下,Python并不是编写后端/服务器端代码的唯一好选择。还有许多其他流行的选项,包括基于JavaScript的Node.js。

  阅读英文原文:用Python到底能做什么?以下是Python的3个主要应用。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: