image

愿码Slogan | 连接每个程序员的故事

愿码愿景 | 打造全学科IT系统免费课程,助力小白用户、初级工程师0成本免费系统学习、低成本进阶,帮助BAT一线资深工程师成长并利用自身优势创造睡后收入。

官方公众号 | 愿码 | 愿码服务号 | 区块链部落

免费加入愿码全思维工程师社群 | 任一公众号回复"愿码”两个字获取入群二维码

本文阅读时间:11min

如果您正在考虑学习Python,或者已经开始学习它,那么您可能会问:"我使用Python到底能做什么?”

这是一个很难回答的问题,因为Python有很多应用程序。

但随着时间的推移,我发现Python有三个主要的流行应用程序:

Web开发

数据科学 - 包括机器学习,数据分析和数据可视化

脚本

Web开发

最近基于Python的Web框架(如Django和Flask)在Web开发中变得非常流行。

我为什么需要一个Web框架?

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

我应该使用哪个Python Web框架?

Django和Flask是两个最流行的Python Web框架。如果是刚入门,建议你使用其中一个。

Django和Flask有什么区别?

主要对比:

· Flask提供简单,灵活和细粒度控制。它是非特定的(它可以让你决定如何实现它)。

· Django提供了一个包罗万象的体验:您可以获得管理面板,数据库接口,ORM [对象关系映射]以及开箱即用的应用程序和项目的目录结构。

你应该选择:

· Flask,如果您专注于体验和学习机会,或者您想要更多地控制使用哪些组件(例如您想要使用哪些数据库以及如何与它们进行交互)。

· Django,如果你专注于最终产品,特别是如果你正在开发一个直接的应用程序,如新闻网站,电子商店或博客,你希望总是有一个单一的,显而易见的方式来做事情。

换句话说,如果你是初学者,Flask可能是一个更好的选择,因为它需要处理的组件更少。此外,如果您想要更多自定义,Flask是更好的选择。

另一方面,如果你想要直接构建一些东西,Django更符合你的需求。

数据科学 - 包括机器学习,数据分析和数据可视化

首先,机器学习是什么?

解释机器学习的最佳方法是给你一个简单的例子。假设您想要开发一个程序来自动检测图片中的内容。

因此,如下图(图1),您希望程序识别出它是一只狗。

图片1

鉴于下面的另一个(图2),您希望程序识别它是一个桌子。

图2

你可能会说,好吧,我可以写一些代码来做到这一点。例如,如果图片中有很多浅棕色像素,那么我们可以说它是一只狗。或者,您可以弄清楚如何检测图片中的边缘。然后,你可能会说,如果有很多直边,那么它就是一张桌子。

但是,这种方法很快变得棘手。如果照片中有一只没有棕色头发的白狗怎么办?如果图片只显示表格的圆形部分怎么办?

这就是机器学习的切入点。

机器学习通常实现一种自动检测给定输入中的模式的算法。

你可以给机器学习算法给1000张狗的照片和1000张桌子的照片。然后,它将学习狗和桌子之间的区别。当你给它一张狗或桌子的新图片时,它将能够识别它是哪一个。

我认为这有点类似于婴儿学习新事物的方式。宝宝怎么知道一件事看起来像狗,另一件看起来像一张桌子?可能来自一堆例子。

你可能没有明确地告诉婴儿,"如果有毛茸茸的东西,有浅棕色的头发,那么它可能是一只狗。”你可能会说,"那是一只狗。这也是一只狗。这是一张桌子。那个也是一张桌子。"

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

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

· 推荐系统(想想YouTube,亚马逊和Netflix)

· 人脸识别

· 语音识别

等应用程序。

您可能听说过的流行机器学习算法包括:

· 神经网络

· 深度学习

· 支持向量机

· 随机森林

您可以使用上述任何算法来解决我之前解释过的图片标注问题。

用于机器学习的Python

有流行的机器学习库和Python框架。

其中两个最受欢迎的是scikit-learn和TensorFlow。

· scikit-learn附带了一些内置的更流行的机器学习算法。我在上面提到了其中一些。

· TensorFlow更像是一个底层库,允许您构建自定义机器学习算法。

如果您刚开始使用机器学习项目,我建议您先从scikit-learn开始。如果你开始遇到效率问题,那么我会开始研究TensorFlow。

我该如何掌握机器学习?

要掌握机器学习基础知识,我会推荐斯坦福大学或加州理工学院的机器学习课程。

请注意,您需要微积分和线性代数的基本知识才能理解这些课程中的一些知识点。

然后,用Kaggle练习所学到的东西。这是一个人们竞争为特定问题构建最佳机器学习算法的网站。他们也为初学者提供了很好的教程。

那么数据分析和数据可视化呢?

列举一个简单的例子:假设您正在为一家在线销售某些产品的公司工作。作为数据分析师,您可以绘制这样的条形图。

用Python生成的条形图1

从这张图中,我们可以看出,男性购买了超过400个单位的产品,女性在这个特定的星期天购买了约350个单位的产品。

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

一个明显可能的解释是,这种产品比起女性更受男性欢迎。另一种可能的解释可能是样本量太小而且这种差异只是偶然造成的。而另一种可能的解释可能是,男性倾向于仅在周日因某种原因购买该产品。

为了理解这些解释中的哪一个是正确的,您可以绘制另一个像这样的图。

用Python生成的折线图1

我们不是仅显示星期日的数据,而是查看整整一周的数据。如您所见,从这张图中,我们可以看到这种差异在不同的日子里非常一致。

从这个小小的分析中,你可以得出结论,对这种差异最有说服力的解释是,这种产品更容易受到男性的欢迎,而不是女性。

如果你看到像这样的图表怎么办?

用Python生成的折线图2

那么,是什么解释了周日的差异?

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

所以,这是一个说明数据分析在现实世界中可能是什么样子的简化的例子。

使用Python进行数据分析/可视化

Matplotlib是最受欢迎的数据可视化库之一。

· 很容易上手

· 其他一些图书馆,如Seaborn,都是以它为基础的。因此,学习matplotlib将有助于您以后学习这些其他库。

我应该如何使用Python学习数据分析/可视化?

首先应该了解数据分析和可视化的基础知识,然后从Coursera和Khan Academy等网站学习统计数据的基础知识也会有所帮助。

脚本

什么是脚本?

脚本通常是指编写旨在自动执行简单任务的小程序。

举个例子:我曾经在日本的一家小型创业公司工作,我们有一个电子邮件支持系统。这是一个系统,让我们回答客户通过电子邮件发送给他们的问题。

当我在那里工作时,我的任务是计算包含某些关键字的电子邮件的数量,以便我们分析收到的电子邮件。

我们可以手动完成它,但是,我编写了一个简单的程序/简单脚本来自动执行此任务。

实际上,我们当时使用Ruby,但Python也是这类任务的好语言。Python适合这种类型的任务,主要是因为它具有相对简单的语法并且易于编写。用它写一些小东西并测试它也很快。

嵌入式应用程序

Python可以与Rasberry Pi一起使用。是硬件爱好者中的一种流行应用。

游戏

您可以使用名为PyGame的库来开发游戏,但它并不是最流行的游戏引擎。你可以用它来建立一个爱好项目,但如果你对游戏开发很认真的话,我个人不会选择它。

相反,建议开始使用Unity与C#,这是最受欢迎的游戏引擎之一。它允许您为许多平台构建游戏,包括Mac,Windows,iOS和Android。

桌面应用程序

您可以使用Tkinter制作一个Python,但它似乎也不是最受欢迎的选择。

相反,似乎Java,C#和C ++等语言更受欢迎。最近,一些公司也开始使用JavaScript来创建桌面应用程序。

例如,Slack的桌面应用程序是用Electron构建的。它允许您使用JavaScript构建桌面应用程序。

就个人而言,如果我正在构建一个桌面应用程序,我会使用JavaScript选项。它允许您重用Web版本中的一些代码(如果有的话)。

Python 3还是Python 2?

推荐Python 3,因为它更现代,而且在这一点上它是一个更受欢迎的选项。

备注:关于后端代码与前端代码的说明(以防您不熟悉这些术语):

假设您想制作像Instagram这样的东西。

然后,您需要为要支持的每种类型的设备创建前端代码。

您可以使用,例如:

· 适用于iOS的Swift

· 适用于Android的Java

· 用于Web浏览器的JavaScript

每组代码都将在每种类型的设备/浏览器上运行。这将是一组代码,用于确定应用程序的布局如何,单击按钮时的外观等等。

但是,您仍然需要能够存储用户的信息和照片。您需要将它们存储在服务器上,而不仅仅存储在用户的设备上,以便每个用户的关注者都可以查看他/她的照片。

这是后端代码/服务器端代码的用武之地。您需要编写一些后端代码来执行以下操作:

· 跟踪谁在追随谁

· 压缩照片,以免占用太多存储空间

· 在发现功能中向每个用户推荐照片和新帐户

因此,这是后端代码和前端代码之间的区别。

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

python软件是干嘛的-Python到底能做什么?相关推荐

  1. python软件是免费的吗-Python编程软件下载

    Thonny是一款Python编程工具,非常适合Python的初学者使用,简单易操作,有错误的部分会直接显示出来,对于一些难懂的部分会给予解释,非常的人性化,需要的朋友欢迎下载使用. 软件优势 初始布 ...

  2. python中是干嘛的-python是做什么的,新手必看哦!

    原标题:python是做什么的,新手必看哦! ​python , 是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,Python 已经成为继JAVA,C 之后的的第三大语言.特点:简单易学 ...

  3. python软件开发的一般流程-Python各个岗位的开发流程

    根据张大美女提供资料微修改,在这谢谢张大美女! 1.python软件开发工程师 1.1 项目启动会 说明项目目标.阶段划分.组织结构.管理流程等关键事项. 1.2 需求调研 由用户提出,描述产品的功能 ...

  4. python软件下载手机版-Learn Python中文版app

    Learn Python中文版app是一个用手机学习Python编程的apk,软件经过本人亲自安装,可以用,自带夜间模式.语音模式以及编写代码的功能.可以用邮箱注册登录,很方便.每天利用零碎的时间学习 ...

  5. python软件是免费的吗-python语言是免费还是收费的?

    python是免费的么? python是免费的,也就是开源的.编程软件的盈利方式就是你使用它, 用的人越多越值钱. 注:Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. ...

  6. python软件是免费的吗-python软件都是免费的吗

    python软件免费吗? python是免费的,是自由.开放源码的软件之一,在python官网可以免费下载,使用者可以自由地发布这个软件的拷贝.阅读它的源代码.对它做改动.把它的一部分用于新的自由软件 ...

  7. python软件是免费的吗-python属于软件吗

    python并不是一款软件,而是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大 ...

  8. python软件使用_8家使用Python的世界一流软件公司

    python软件使用 There are over 500 current programming languages, with more being written every day. Admi ...

  9. 怎么自学python软件-你是如何自学 Python 的?

    学python,我们要首先问自己,是为了转行?提升自己?还是什么,有了明确的目标,才会沉下心来学习.我学习python的目标是想要转行,可以跟大家分享一下我的学习之路. 有鹿不闻:Python学习日记 ...

最新文章

  1. sqlplus连mysql库_sqlplus连接服务器的Oracle的经历
  2. ocjp 31-40
  3. mysql导出表_mysql导出表的3种方式
  4. R沟通|Bookdown中文书稿写作手册(中)
  5. select, poll, epoll
  6. 统计学习方法读书笔记10-决策树
  7. Microsoft Dynamics AX 2012
  8. Excel数据可视化表盘模板
  9. ASR项目实战-产品分析
  10. 1459. 奶牛体操
  11. 萨尔大学计算机受限,萨尔大学的申请条件
  12. python之pyttsx3实现文字转语音播报
  13. win10解决你当前无权访问该文件夹,拒绝你访问该文件夹
  14. vue中遍历呈现数据
  15. 正则表达式(参考百度词条)
  16. 重拾数据库,常用的数据库语句
  17. gmail邮箱延迟收到问题
  18. 时钟周期-秒、毫秒、微秒、纳秒之间的换算
  19. 某拍网登录接口参数加密流程
  20. 精密整流电路(AD630)

热门文章

  1. Springboot配置MongoDB连接池
  2. 学会这几个PPT制作技巧,让同事对你刮目相看
  3. 何洛洛高考成绩查询2021,R1SE曾想续约:11少年毕业发言催泪,周震南更文,何洛洛哭上热搜...
  4. 圣地亚哥大学 学计算机 咋样,圣地亚哥大学的计算机专业如何?
  5. [国产单片机]【国货之光】接力国产替代,恒烁CX32L003替代STM8S003
  6. 【经验】UltralSO制作启动盘时报错:磁盘/映像容量太小
  7. 深入理解nvme协议之二:nvme 协议重点数据结构之间的关系
  8. vue中使用AES加密与AES解密
  9. Java JDK 1.8 下载及其版本说明 8u202(最后一个免费版)
  10. My97date日期选择设置最大最小值