如果你准备开始学习Python或者你已经开始了学习Python,那么,你肯能会问自己: “我用Python究竟能做些什么?”
嗯,这是一个棘手的问题,因为Python有很多应用方向。但随着时间的推移,我发现Python有3个主要应用方向:
Web 开发
数据科学 - 包括机器学习,数据分析和数据可视化
脚本
让我们依次来谈谈每一个。
发现有很多想要学习Python却不知道如何下手的朋友,我这里整理了一些关于Python的学习资料,从基础到入门到实战都有!有需要的朋友可以文末免费获取…
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可能会让你更快地到达那里。
现在,如果你想学习Django,我推荐名为《Django for Beginners》的书。 你可以在这里找到它。
你还可以在此处找到该书的免费样本章节。
好的,我们来看下一个主题吧!
数据科学 - 包括机器学习,数据分析和数据可视化
1. 机器学习
首先,让我们回顾一下机器学习是什么
我认为解释机器学习的最佳方法是给你一个简单的例子。 假设你想要开发一个程序来自动检测图片中的内容。
因此,如下图(图1),你希望程序识别出它是一只狗。
鉴于下面的另一个(图2),你希望程序识别它是一个桌子。
你可能会说,好吧,我可以写一些代码来做到这一点。 例如,如果图片中有很多浅棕色像素,那么我们可以说它是一只狗。
或者,你可以弄清楚如何检测图片中的边缘。 然后,你可能会说,如果有很多直边,那么它就是一张桌子。
但是,这种方法很快变得棘手。 如果照片中有一只没有棕色头发的白狗怎么办? 如果图片只显示桌子的圆形部分怎么办?
这就是机器学习的用武之地。
机器学习通常实现一种, 自动检测给定输入模式的算法。
你可以给机器学习算法,给1000张狗的照片和1000张桌子的照片。 然后,它将学习狗和桌子之间的区别。 当你给它一张狗或桌子的新图片时,它将能够识别它是哪一个。
我认为这有点类似于婴儿学习新事物的方式。 宝宝怎么知道一件事看起来像狗,另一件看起来像一张桌子? 可能来自一堆例子。
你可能没有明确地告诉婴儿,“如果有毛茸茸的东西,有浅棕色的头发,那么它可能是一只狗。”
你可能会说,“那是一只狗。 这也是一只狗。 这是一张桌子。 那个也是一张桌子。“
机器学习算法的工作方式大致相同。
你可以将相同的想法应用于:
推荐系统(如YouTube,亚马逊和Netflix)
人脸识别
语音识别
等其他场景。
你可能听说过的流行的机器学习算法包括:
神经网络
深度学习
支持向量机
随机森林
你可以使用上述任何算法来解决我之前解释过的图片标注问题。
用于机器学习的 Python
针对机器学习有流行的机器学习库和Python框架。
其中两个最受欢迎的是scikit-learn和TensorFlow。
scikit-learn附带了一些内置的更流行的机器学习算法。 我在上面提到了其中一些。 TensorFlow更像是一个低级库,允许你构建自定义机器学习算法。
如果你刚刚开始使用机器学习项目,我建议你先从scikit-learn开始。
如果你开始遇到效率问题,那么我会开始研究TensorFlow。
- 数据分析和数据可视化又是怎样呢?
为了帮助你了解这些可能是什么样子,让我在这里给你一个简单的例子。
假设你正在为一家在线销售某些产品的公司工作。
然后,作为数据分析师,你可以绘制这样的条形图。
用Python生成的条形图从这张图中,我们可以看出,男性购买了超过400个单位的产品,女性在这个特定的星期天购买了约350个单位的产品。
作为数据分析师,你可能会对这种差异提出一些可能的解释。
一个明显可能的解释是,这种产品比男性更受男性欢迎。 另一种可能的解释可能是样本量太小而且这种差异只是偶然造成的。 而另一种可能的解释可能是,男性倾向于仅在周日因某种原因购买该产品。
要了解哪些解释是正确的,你可能会绘制另一个这样的图表。
我们不是仅显示星期日的数据,而是查看整整一周的数据。 如你所见,从这张图中,我们可以看到这种差异在不同的日子里非常一致。
从这个小小的分析中,你可以得出结论,对这种差异最有说服力的解释是,这种产品更容易受到男性的欢迎,而不是女性。
另一方面,如果你看到像这样的图表怎么办?
那么,是什么解释了周日的差异?
你可能会说,也许男人往往只是因为某种原因在周日购买更多的这种产品。 或者,也许只是巧合,周日男人买了更多。
因此,这是数据分析在现实世界中可能看起来像的简化示例。
我在谷歌和微软工作时所做的数据分析工作与这个例子非常相似 - 只是更复杂。 我实际上在谷歌使用Python进行这种分析,而我在微软使用JavaScript。
我在这两家公司使用SQL来从我们的数据库中提取数据。 然后,我会使用Python和Matplotlib(在谷歌)或JavaScript和D3.js(在微软)来可视化和分析这些数据。
用Python进行数据分析和数据可视化
Matplotlib是最受欢迎的数据可视化库之一。 这是一个非常适合开始学习的库,原因如下:
容易上手
其他一些库如seaborn就是基于它的。 因此,学习Matplotlib将帮助你稍后学习这些其他库。
最后
最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!(文末领取)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 (文末领取哦)