如果你正在考虑学习Python–或者你最近开始学习它–你可能会问自己:
“我到底能用Python做什么?”
这是一个很难回答的问题,因为Python的应用程序太多了。
但随着时间的推移,我注意到Python有3种主要的流行应用程序:
Web开发
数据科学-包括机器学习、数据分析和数据可视化。
脚本编写
让我们依次讨论每一个问题。
Web开发
基于Python的Web框架,如姜戈和烧瓶最近在web开发中变得非常流行。
这些Web框架帮助您在Python中创建服务器端代码(后端代码)。这是在您的服务器上运行的代码,而不是在用户的设备和浏览器上运行的代码(前端代码)。如果您不熟悉后端代码和前端代码之间的区别,请参见下面的脚注。
但是等等,为什么我需要一个网络框架?
这是因为Web框架使构建公共后端逻辑变得更容易。这包括将不同的URL映射到Python代码块,处理数据库,以及生成用户在浏览器上看到的HTML文件。
我应该使用哪个Python Web框架?
Django和Flask是最流行的PythonWeb框架之一。如果你才刚开始的话,我建议你使用其中之一。
Django和烧瓶有什么区别?
有一个优秀文章关于Gareth Dwyer的这个话题,让我在这里引用:

主要对比:
烧瓶提供了简单、灵活和细粒度的控制.它是不固执己见的(它让您决定如何实现事物)。
Django提供了一种包罗万象的体验:您可以获得一个管理面板、数据库接口、一个对象关系映射,以及应用程序和项目的目录结构。
你应该选择:
如果您专注于体验和学习机会,或者您希望更多地控制使用哪些组件(例如您想使用哪些数据库以及如何与它们交互),则需要更多的控制。
Django,如果你专注于最终产品。特别是当你正在开发一个直截了当的应用程序,比如新闻网站、电子商店或博客时,你希望总是有一种单一的、显而易见的方式来做事。
</end quote>
换句话说,如果你是一个初学者,瓶可能是一个更好的选择,因为它有较少的组件需要处理。另外,如果你想要更多的定制,瓶是一个更好的选择。
另一方面,如果你想建立一个直截了当的东西,Django可能会让你更快地到达那里。
现在,如果你想学习Django,我推荐这本书叫做Django给初学者。你可以找到它这里.
你也可以找到那本书的免费样本章节。这里.
好吧,让我们进入下一个话题!
数据科学-包括机器学习、数据分析和数据可视化。
首先,让我们回顾一下机器学习是.
我认为解释机器学习的最好方法是给你一个简单的例子。
假设您想开发一个自动检测图片中的内容的程序。
所以,根据下面的图片(图1),你想让你的程序认识到它是一只狗。
考虑到下面的另一个(图2),您希望您的程序能够识别它是一个表。
Image for post

你可能会说,好吧,我可以写一些代码来做这件事。例如,如果图片中有很多浅棕色像素,那么我们可以说它是一只狗。
或者,你可以找出如何检测图片中的边缘。然后,你可能会说,如果有很多直线的边,那么它就是一张桌子。
然而,这种方法很快就会变得棘手。如果照片里有一只没有棕色头发的白狗怎么办?如果这张照片只显示了桌子的圆形部分呢?
这就是机器学习的来龙去脉。
机器学习通常实现一种自动检测给定输入中的模式的算法。
比如说,你可以把1000张狗的照片和1000张桌子的图片交给机器学习算法。然后,它将了解狗和桌子的区别。当你给它一张狗或桌子的新照片时,它就能认出它是哪一只。
我认为这有点类似于婴儿学习新事物的方式。婴儿怎么知道一件事看上去像一只狗,另一件事看上去像一张桌子?可能是一堆例子。
你可能不会直截了当地告诉婴儿:“如果有什么东西是毛茸茸的,头发是浅棕色的,那它很可能是一只狗。”
你可能会说,“那是条狗。这也是条狗。这张是一张桌子。那张也是一张桌子。“
机器学习算法的工作方式也是一样的。
您可以将相同的想法应用于:
推荐系统(想想YouTube、Amazon和Netflix)
人脸识别
语音识别
在其他应用中。
您可能听说过的流行机器学习算法包括:
神经网络
深度学习
支持向量机
随机林
您可以使用上述任何算法来解决我前面解释过的图片标记问题。
用于机器学习的Python
有流行的机器学习库和Python框架。
最受欢迎的两个是科学-学习和TensorFlow.
SICKIT-学习与一些更流行的机器学习算法内置。我上面提到过一些。
TensorFlow是一个低级库,允许您构建自定义机器学习算法。
如果你刚刚开始一个机器学习项目,我建议你先从科学学习开始。如果您开始遇到效率问题,那么我将开始研究TensorFlow。
我应该如何学习机器学习?
为了学习机器学习的基本原理,我建议斯坦福大学或加州理工学院机器学习课程。
请注意,你需要微积分和线性代数的基本知识来理解这些课程中的一些材料。
然后,我会把你从其中一门课上学到的东西卡格尔。这是一个网站,人们竞争为一个给定的问题建立最好的机器学习算法。他们也为初学者提供了很好的教程。
数据分析和数据可视化呢?
为了帮助你理解这些可能是什么样子,让我在这里给你一个简单的例子。
假设你在一家在线销售产品的公司工作。
然后,作为数据分析人员,您可能会绘制如下条形图。
条形图1-用Python生成从这张图中,我们可以看出,在这个特别的周日,男性购买了400多台这款产品,而女性购买了大约350台这款产品。
作为一名数据分析师,您可能会对这种差异提出一些可能的解释。
一个显而易见的可能解释是,这种产品在男性中比在女性中更受欢迎。另一种可能的解释可能是样本大小太小,而这一差异只是偶然造成的。另一个可能的解释是,由于某种原因,男性只在周日才会购买这种产品。
要理解这些解释中的哪一种是正确的,你可以画另一张图,像这张。我们不是只显示周日的数据,而是看了整整一周的数据。正如你所看到的,从这个图表中,我们可以看到,这种差异在不同的日子里是非常一致的。
从这个小小的分析中,你可能会得出结论,这种区别最有说服力的解释是,这种产品在男性中比在女性中更受欢迎。
另一方面,如果你看到的是这样的图形呢?

Image for post
那么,周日有什么不同呢?
你可能会说,也许因为某种原因,男人只在星期天才会购买更多的这种产品。或者,也许这只是一个巧合,男人在星期天买了更多。
因此,这是一个简化的例子,说明在现实世界中数据分析可能是什么样子。
我在谷歌(Google)和微软(Microsoft)工作时所做的数据分析工作非常类似于这个例子–只是更复杂。实际上,我在Google使用Python进行这种分析,而在Microsoft使用JavaScript。
我在这两家公司使用SQL从我们的数据库中提取数据。然后,我将使用Python和Matplotlib(在Google)或JavaScript和D3.js(在Microsoft)来可视化和分析这些数据。
用Python进行数据分析/可视化
最流行的数据可视化库之一是Matplotlib.
这是一个很好的开始库,因为:
很容易开始
其他一些库,如海航是以它为基础的。因此,学习Matplotlib将有助于您稍后学习这些其他库。
如何使用Python学习数据分析/可视化?
我们下期见

你到底能用Python做什么?下面是Python的三个主要应用程序。相关推荐

  1. python 做啥用-使用 Python 可以做什么?

    翻译自 <Python学习手册(第5版)> Systems Programming Python 对操作系统服务的内置接口使其非常适合编写可移植.可维护的系统管理工具和实用程序 utili ...

  2. 学python有前途吗-我们能用Python做什么?学Python有前途吗?

    我们能用Python做什么? 目前流行的大数据分析.数据科学.机器学习等行业,Python长期稳固第一阵营,甚至就是第一语言.不管从哪个方面来考虑,都应该选择 Python. 在安全渗透行业,大量的攻 ...

  3. python做统计分析_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  4. python做购物车代码大全-python 字典实现简单购物车

    # -*- coding: utf-8 -*- #总金额 asset_all=0 i1=input('请输入总资产:') asset_all=int(i1) #商品列表 goods=[ {'name' ...

  5. python做些什么-学会Python后都能做什么?网友们的回答简直不要太厉害

    如今,越来越多的人加入到学习Python的队伍当中. 有的学习者是设计师,学习Python可以帮助他们查找更多的海报案例:有的学习者是大学生,学习Python可以帮助他们更好地查阅论文资料:还有的学习 ...

  6. 用python做数据分析pdf_利用python进行数据分析pdf

    利用python进行数据分析pdf微盘下载!<利用python进行数据分析>利用Python实现数据密集型应用由浅入深帮助读者解决数据分析问题~适合刚刚接触Python的分析人员以及刚刚接 ...

  7. python做可视化界面tkinter,python做可视化界面程序

    python 可视化界面怎么做 首先,如果没有安装python和PyQt软件的请先直接搜索下载并安装.python是一个开源软件,因此都是可以在网上免费下载的,最新版本即可.下载完成后,我们先打开Py ...

  8. 用python做炒股软件-同花顺有python接口_基于python的炒股软件

    股票详细数据 怎么获得股市数据针对股票等金融数据的获取,python提供了一个非常实用的模块-tushare,自动完成了数据从采集.清洗到存储的全过程,可以极大减轻金融分析人员的工作量,下面我简单介绍 ...

  9. python做Linux进程运行,Python实现在Linux系统下更改当前进程运行用户

    在上一篇文章中,我们讲了如何在linux上用python写一个守护进程.主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程.细心观察的可能会发现 ...

  10. python做硬件自动化测试-用python做自动化测试--Python实现远程性能监控

    http://blog.csdn.net/powerccna/article/details/8044222 在性能测试中,监控被测试服务器的性能指标是个重要的工作,包括CPU/Memory/IO/N ...

最新文章

  1. 解决Tomcat v8.0 Server at localhost failed to start.
  2. 互联网架构“高并发”到底怎么玩?
  3. 再谈 Application ProvidedAar
  4. Linux系统安全与应用(一)——账号安全与控制与PAM认证模块
  5. 遍历HashMap的最佳方法
  6. 【.NET Core项目实战-统一认证平台】第五章 网关篇-自定义缓存Redis
  7. spring之使用Spring Security实现权限管理
  8. 250W电源带i7+GTX1080?
  9. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离
  10. 一、开始动手开发网球平台
  11. 判断一个点是否在矩形内部_矩形、圆形泄水管规格型号优势
  12. hive安装及常用命令
  13. B550-I Ryzen 9 5950X RX 5700 XT 黑苹果efi引导文件
  14. 线程动画屏保小球碰撞c语言,线程小动画之屏保--模仿小球碰撞反弹(一)
  15. Web接入QQ登陆简单入门操作
  16. c# FlexCell自动换行
  17. java安装报错循环冗余检查_Java中循环冗余校验的实现方式介绍
  18. 11.23Bom完以及pc端端offset
  19. Apache Log4j2 漏洞解决办法
  20. 详解熵、最大熵、联合熵和条件熵、相对熵以及互信息之间的关系

热门文章

  1. TensorFlow中EMA的概念和正确使用方法
  2. 北航软件学院2014级数据库期末试题
  3. 《30天自制操作系统》-day3(MAC)
  4. 反渗透和和超滤究竟有和不同 今天终于讲清楚了
  5. Generation-A
  6. 简单解释卡诺图的循环码是如何编制
  7. 如何使用4EVERLAND-BUCKET获得免费云存储空间
  8. MFC窗口置顶代码实现
  9. 【知乎Live】狼叔:如何正确的学习Node.js
  10. ubuntu下gsoap的编译与使用