简介:如果你想学Python,或者刚开始学Python,那么你可能会问:“我能用Python做什么?”这个问题很难回答,因为Python有很多用途。但随着时间的推移,我发现Python主要有三个应用:Web开发数据科学:包括机器学习、数据分析、数据可视化脚本本文将依次介绍。01Web开发基于Python的Web框架如Django和Flask最近在Web开发中非常流行。这些Web框架可帮助您使用Python编写服务器端代码(后端代码)。这是在您的服务器上运行的代码,而不是在用户设备和浏览器上运行的代码(前端代码)。1、为什么需要web框架,因为用web框架更容易构建通用的后端逻辑。这包括将不同的URL映射到Python代码块、处理数据库以及生成用户在浏览器中看到的HTML文件。2.你应该使用哪种PythonWeb框架?Django和Flask是两个最流行的PythonWeb框架。如果您刚刚起步,我建议您使用其中之一。3.Django和Flask之间的区别GarethDwyer有一篇关于这个主题的优秀文章,我将在这里引用几段话:KeyDifferenceFlask:Enablessimplicity,flexibility,andgranularcontrol。并让您自己决定如何实施。Django:提供全面的体验:您可以获得一个管理面板、一个数据库接口、一个ORM(对象关系映射)以及开箱即用的应用程序和项目目录结构。如何选择Flask:如果你的重点是体验和学习机会,或者你想更多地控制使用哪些组件,比如你想使用哪些数据库以及如何与它们交互。Django:如果您关心的是最终产品,或者您正在开发一个简单的应用程序,例如新闻站点、网上商店或博客,并且您想要一个单一的实现。换句话说,如果您是初学者,Flask可能是更好的选择,因为它需要掌握的组件更少。此外,如果您想要更多定制,请选择Flask。根据我的数据工程师朋友JonathanTHo的说法,Flask由于其灵活性,在创建RESTAPI时比Django更适合。另一方面,如果你想直接构建一些东西,Django可能会让你更快。02Datascience数据科学,这里包括机器学习、数据分析和数据可视化。一、什么是机器学习假设你要开发一个程序,可以自动检测图片的内容。鉴于图1,您希望程序识别出这是一只狗。▲图一为图二,希望程序能认出这是一张表格。▲图2你可能会说,我可以写一些代码来做这个。比如图片中有很多淡褐色的像素点,就可以识别出是狗。或者你可以检测图片中的边缘,如果有很多直边,那么它就是一张桌子。但是这种方法不会很快奏效。如果图片中的狗不是棕色的怎么办?如果图片只显示桌子的圆形部分怎么办?这就是机器学习的用武之地。机器学习通过实施能够自动检测输入模式的算法来工作。例如,你将1000张狗的图片和1000张桌子的图片提供给机器学习算法,让它学习狗和桌子之间的区别。然后当你给一张新的图片让它识别是狗还是桌子的时候,它就可以做出判断了。这有点类似于孩子学习新事物的方式。孩子如何学会识别狗或桌子?只是通过很多例子。你不会明确地告诉孩子,“如果毛茸茸的东西有浅棕色的毛,那它可能是狗。”你说,“这是一只狗,这是一只狗。这是一张桌子,那是一张桌子。”机器学习算法的工作方式大致相同。我们可以将相同的想法应用到:推荐系统:例如YouTube、Amazon和Netflix人脸识别语音识别和其他应用程序。您听说过的流行机器学习算法包括:神经网络深度学习支持向量机随机森林您可以使用上述任何一种算法来解决上述图像标记问题。2.使用Python进行机器学习有一些流行的机器学习库和Python框架。其中两个最受欢迎的是scikit-learn和TensorFlow。scikit-learn内置了一些流行的机器学习算法。TensorFlow是一个低级库,可让您创建自定义机器学习算法。如果您刚刚开始一个机器学习项目,我建议您从scikit-learn开始。如果您开始遇到效率问题,请使用TensorFlow。3.数据分析和数据可视化假设你在一家在线销售产品的公司工作。作为数据分析师,您会像这样绘制条形图。▲条形图1——用Python生成从这张图可以看出,在某个星期天,男性用户购买了400多件商品,女性用户购买了350件商品。作为数据分析师,您对此提出了一些可能的解释。显而易见的解释是该产品更受男性用户欢迎。另一个是样本量太小,差异是偶然的。也可能是出于某种原因,男人倾向于在星期天购买该产品。要了解哪种解释是正确的,您可以绘制另一个图形。▲折线图1-使用Python不仅可以生成周日的数据,还可以生成一周的数据。从这张图表中可以看出,这种差异在不同的日子里是相对一致的。从这个分析中,您会得出结论,该产品在男性中比在女性中更受欢迎。但是,如果您看到这样的图表怎么办?▲折线图2-用Python生成那么,周日的差异如何解释呢?你可能会争辩说,也许出于某种原因,男人只会在星期天购买更多的产品。也许这只是巧合。我在谷歌和微软所做的数据分析工作与这个例子非常相似,只是更复杂。在谷歌,我使用Python进行分析,在微软,我使用JavaScript。在这两家公司中,我都使用SQL从数据库中提取数据。然后我使用Python和Matplotlib(在谷歌)或JavaScript和D3.js(在微软)来可视化和分析这些数据。Python中用于数据分析/可视化的最流行的数据可视化库之一是Matplotlib,它是一个很好的入门库,因为:它很容易上手其他一些库,如seaborn,都是基于它的。因此,学习Matplotlib将有助于您以后学习这些其他库。我应该如何使用Python学习数据分析/可视化?您应该从学习数据分析和可视化的基础知识开始。当我在网上寻找好的资源时,我找不到。所以,我最终制作了一个关于这个主题的YouTube视频:我最后还在Pluralsight上制作了一个关于这个主题的完整课程,你可以通过注册他们的10天免费试用来免费获得。我会推荐他们两个。在学习了数据分析和可视化的基础知识之后,它也有助于从Coursera和可汗学院等网站学习统计基础知识。脚本什么是脚本?脚本通常是指编写旨在自动执行简单任务的小程序。所以,让我根据我的个人经历给你举个例子。我曾经在日本一家拥有电子邮件支持系统的小型初创公司工作。这是我们用于回复客户通过电子邮件向我们发送的问题的系统。当我在那里工作时,我的任务是计算包含特定关键字的电子邮件数量,以便我们分析收到的电子邮件。我们本可以手动完成,但我编写了一个简单的程序/简单的脚本来自动执行此任务。实际上,当时我们使用的是Ruby,但Python也是一种适合此类任务的语言。Python适合这类任务,主要是因为它的语法比较简单,容易编写。用它编写小东西并测试它们也很快。嵌入式应用程序呢?我不是嵌入式应用专家,但我知道Python可以与RasberryPi一起使用。它似乎是硬件爱好者中流行的应用程序。游戏呢?您可以使用名为PyGame的库开发游戏,但它不是最流行的游戏引擎。你可以用它来构建一个爱好项目,但如果你对游戏开发很认真,我个人不会选择它。相反,我建议从C#中的Unity开始,它是最流行的游戏引擎之一。它允许您为许多平台构建游戏,包括Mac、Windows、iOS和Android。Python3还是Python2?我会推荐Python3,因为它更现代,而且在这一点上它是更受欢迎的选择。脚注:关于后端代码与前端代码的说明(如果您不熟悉这些术语):假设您想制作类似Instagram的东西。然后,您需要为要支持的每种类型的设备创建前端代码。例如,您可以使用:用于iOS的Swift用于Android的Java用于网络浏览器的JavaScript每组代码将在每种类型的设备/浏览器上运行。这将是一组代码,用于确定应用程序的布局、单击按钮时的外观等。但是,您仍然需要能够存储用户的信息和照片。您需要将它们存储在服务器上,而不仅仅是在用户的设备上,以便每个用户的关注者都可以查看他/她的照片。这是后端代码/服务器端代码的用武之地。您需要编写一些后端代码来执行以下操作:跟踪谁在关注谁压缩照片,这样它们就不会占用太多存储空间推荐照片和新内容在Discover中对每个用户的账户所以,这里是后端代码和前端代码的区别。顺便说一句,Python并不是编写后端/服务器端代码的唯一好的选择。还有许多其他流行的选择,包括基于JavaScript的Node.js。不管怎样,非常感谢你阅读我的文章!有问题可以后台私信我,我会一一解答!
