近几年Python的发展形势很迅猛,可以说“网红语言”,我国已经将python纳入课程。根据个人经验,以及对python的浅见,以为python有以下三大用途:
1、 Web开发
2、数据科学:包括机器学习、数据分析和数据可视化
3、脚本
一、Web开发
* Django和Flask等基于Python的Web框架最近在Web开发中非常流行。
这些Web框架可以帮助你用Python编写服务器端代码(后端代码)。这是在你的服务器上运行的代码,而不是运行在用户设备和浏
览器的代码(前端代码)。
* 使用Web框架的好处是:可以更容易地构建通用后端逻辑。这包括将不同的URL映射到Python代码块,处理数据库以及生成用
户在浏览器中看到的HTML文件。
* 两个框架的区别:
Flask:能够实现简单、灵活和细致的控制。并能让你自己决定实现方式。
Django:提供了全面的体验:你可以获得管理面板、数据库接口、ORM(对象关系映射)以及开箱即用的应用程序和项目的目录结构。
* 如何选择
Flask:如果你关注的是经验和学习的机会,或者你想更多地控制使用哪些组件,比如你想使用哪些数据库以及如何与其进行交互。
Django:如果你关注最终产品,或者你正在研究一个简单的应用,比如新闻网站、网店或博客,并且你希望有单一实现的方式。
二、数据科学
包括机器学习,数据分析和数据可视化
1、机器学习
机器学习通过实现算法,该算法能够自动检测输入中的模式。
例如,你将1000张狗的图片和1000张桌子的图片输入给机器学习算法,让它掌握狗和桌子间的区别。那么当你给出新的图片
让它识别是狗还是桌子时,它就能够进行判断。
这有点类似孩子学习新事物的方式。孩子是如何学习认知狗或桌子的呢?就是通过大量的例子。
你不会明确告诉孩子:“如果某个毛茸茸的东西有浅棕色的毛发,那么就可能是狗。” 你会说,“这是狗,这也是狗。而这是桌子,那个也是桌子。“
* 机器学习算法的方式大致相同。
我们可以将相同的想法应用于:
1、推荐系统:比如YouTube,亚马逊和Netflix
2、人脸识别
3、语音识别
以及其他应用。
你听过的热门机器学习算法包括:
1、神经网络
2、深度学习
3、支持向量机
4、随机森林
你可以使用上述任何算法来解决前面提到的图片标签问题。
* 将Python用于机器学习
有一些热门的机器学习库和Python框架。其中两个最热门的是scikit-learn和TensorFlow。
1、scikit-learn带有一些内置的热门机器学习算法。
2、TensorFlow是一个低级库,能让你创建自定义机器学习算法。
如果刚开始进行机器学习项目,先从scikit-learn开始。如果开始遇到效率问题,那么可以使用TensorFlow。
2、 数据分析和数据可视化
假设在一家在线销售产品的公司工作。作为数据分析师,你会绘制这样的条形图。
从这张图中可以看到在某个周日,男性用户购买了400多件产品,女性用户购买了350件产品。
作为数据分析师,对此你会提出一些可能的解释。明显的解释是,该产品在男性用户中更受欢迎。另一种是样本量太小,而这种差异是偶然的。还可能呢是由于某种原因,男性往往在周日才购买该产品。
为了理解哪种解释是正确的,你可以绘制另一个图。
不止看周日的数据,还要看到一周的数据。从这张图表中可以看出,在不同的日子里这种差异比较一致。
从这个分析中你会得出结论:这种产品在男性中比在女性中更受欢迎。
但如果你看到像这样的图表呢?
那么,怎么解释周日的差异呢?
也许出于某种原因男性只在周日才会更多地购买这款产品。或许这只是巧合。
谷歌和微软两家公司所做的数据分析工作与这个例子非常相似,只是更复杂一些。
在这两家公司我都使用SQL从数据库中提取数据。然后,我用Python和Matplotlib(在谷歌)或JavaScript和D3.js(在微软)来可视化和分析这些数据。
* 使用Python进行数据分析/可视化
进行数据可视化时,Matplotlib是非常热门的库。
Matplotlib的好处:
1、容易上手
2、seaborn等库是基于它的,学习Matplotlib可以帮助你以后学习其他库。
* 如何用Python学习数据分析/可视化
你首先应该了解数据分析和可视化的基础知识。在学习了数据分析和可视化的基础知识之后,学习统计学基础知识也将会很有帮助。
三、脚本
什么是脚本?
脚本通常是指编写能够自动执行简单任务的小程序。
例如如果有一个需求是计算包含关键字的邮件数量,以便分析收到的电子邮件。这类可以编写一个简单的脚本来自动执行此任务。
对于这类任务Python也是不错的选择。Python适合这类任务,因为它语法简单,易于编写,而且进行测试也很快。
更多请参阅:
https://medium.freecodecamp.org/what-can-you-do-with-python-the-3-main-applications-518db9a68a78