本文转载自36kr

从网页编程到时髦的人工智能,机器学习,这个享有"瑞士军刀(万能工具)"盛誉的Python语言, 你学会了吗?

编者注: 根据维基百科的解释,"Python是一种广泛使用的高级编程语言,由吉多·范罗苏姆创造,第一版发布于 1991 年。Python 的设计哲学强调了代码的可读性和简洁的语法。" 随着大数据,人工智能的兴起,越来越多的人也开始研究起这门语言。以下这篇文章编译自Alexus Strong 在在线学习编程网站Codecademy 上发表的文章Why I’m Learning Python in 2018

我们可能会说,Python在2017年“出了一阵风头”。毕竟该语言最近的发展趋势,令人难以忽视。

主要编程语言的增长趋势 图片来自 Stack Overflow

然而,“出了风头”意味着对该语言的兴趣可能会被放缓。 但有什么理由会让人相信明年的这个时候Python将不会受欢迎呢? 这是我想要回答的问题。

为什么? 简而言之,我正在寻找一种新的编程语言。 我在大学里学了几门Java课程,但我好几年没用过。 我学习了HTML和CSS, 但我现在正在寻找一种可以用于Web开发以外的语言。 最重要的是,我要确保今天学习的东西在今后五年也能用上。

所以,不仅为我自己,为了每一位学员,我决定深入探讨一下Python之兴起背后的原因,来试图了解为什么今天有这么多的人在学习该语言,明年是否还是同样的理由,这些答案对你,对我以及我们的事业,又意味着什么。

Python的兴起

编程语言总是来了又去了。 Python最近的受欢迎程度,令人着迷。不久前,很多人认为它已经死了。

1999年,Perl编程语言的创始人拉里·沃尔(Larry Wall)向其坚实的粉丝们发表了他的第三个年度主题演讲。 在演讲中,他公布了在职业网站dice.com上绘制的对各种语言的需求:

图片来源: wall.org

正如你所看到的,那时Python没有被登记。作为一个很偏门的语言,Python当时几乎没有什么知名度。沃尔特称:“对Python程序员或许根本没什么大量需求,而且,Python程序员很容易找到,根本不用在dice.com登广告。”

有趣的是Python变得更强大了。 去年秋天,堆栈溢出(Stack Overflow)证实,在他们的网站上,有关Python问题的访问者的数量,增长得比其他任何语言的都快,这让Python有资格声称它是世界上增长最快的主要编程语言之一。

在Codecademy上注册免费Python课程的用户人数,也显示出对这一说法的支持 - 目前正在Codecademy上学习Python的用户数量比去年同期增加了34%。

那么,为什么该语言如此迅速地受到欢迎呢?

图片来源: languagehealth.com

为什么是Python?

Stack Overflow将其归结为一个主要原因:Python的兴起与人们对数据科学兴趣的兴起相关。

他们的分析非常吸引人,值得一读,但是太长了,别读了:D, 简而言之,“Python在数据科学和机器学习方面的普及可能是其快速发展的主要动力。”我不会多费口舌来介绍了,这两项是 2017年最令人瞩目的技术趋势。

不过,这里仍有一个重大问题。 有其他大量编程语言,如SQL和R,可以在数据科学领域一展拳脚。 但为什么这么多人选择了Python呢?

一个主要的因素是Python的多功能性。 有超过125,000的第三方Python库。 这些库使得Python从从事传统的(例如web开发,文本处理) 到最新的(例如AI和机器学习)特定任务变得更为上手。 例如,生物学家可能会使用Biopython库来帮助他们进行基因测序。

此外,Python已经成为数据分析的首选语言。 对于像pandas,NumPy和matplotlib这样以数据为中心的库,任何熟悉Python语法和规则的人都可以将其部署为处理,操作和可视化数据的强大工具。

我们的数据分析课程开发人员和Codecademy的首席数据科学家Hillary Green-Lerman每天都在使用这些Python库。 作为一名数据科学家,她将Python描述为一种编程语言中“一种非常美妙的,吸取了各种长处的工具”。

“如果你想做简单的事情,那可能是一行代码。 如果你想做一些非常复杂的事情,你也能很好地控制它。“

鉴于其对数据分析的多功能性和适用性,一个每一天都变得越来越重要的技能,我很清楚,Python将占据重要位置。 所以如果对数据的读写是我的首要任务之一,那我应该开始使用Python吗?

主修商科的人学习Python

Hillary把Python称为编程语言中“一种非常美妙的,吸取了各种长处的工具”,因为它可以做她所需要的东西,但她是一名专业的数据科学家。 我不是,所以我的要求和她的要求会有些不同。 Python能否给像我这样的人的带来任何好处呢?

我不想为了成为一名数据科学家,或是软件工程师而学习Python。 相反,我的目标更专注于提高对数据分析的掌握水平,为Web开发使用编程的技能,或是为我今后职业生涯中可能出现的任何其他技术需求而做好准备。

我不是唯一一个有这种想法的人。 越来越多寻求编程知识的人不希望成为全职的软件开发人员或数据科学家。 相反,营销人员,项目经理和企业家等一些专业人士正在使用编程的技巧来更好地从事他们的工作。 这些人或是正在寻找最新的知识,或是没有时间为每个目的而学习一种新的编程语言。

Python在非技术领域吸引了我们这些人,在不受任何限制的情况下,它可以轻松地实现数据分析功能,这成为商业世界中越来越重要的技能。

福布斯报道说,“数据驱动的决策越来越受欢迎。 而在过去的几年里,分析师们一直在使用像Excel这样的软件来分析数据,只有学者才会转向SPSS,Stata等工具,现在这种情况正在改变。

即使作为一名内容营销人员,根据市场营销专家Andrew Chen的说法,通过学习数据,我可以更好地工作

“增长黑客“的新职位正在融入硅谷的文化,强调编码和懂得技术正成为一个伟大的营销人员的重要组成部分。 陈说,增长黑客是营销和编码的混合体。 “他们将直接营销的侧重点置于量化测量的基础上,通过电子表格来进行模型设计以及大型的数据查询工作。”

当你读到“数据库查询”时,会想到SQL,Python和R。 学习Python,似乎是许多做类似像我这样工作的人已经采取了的行动。

所以,下一个问题:我可以学习Python吗? 正如我前面提到的,我的编码技能没有什么可写的。 谢天谢地,Python是学习编程的首选语言。 原因很简单,它直接,而且有很多已经建立起来的免费资源,使得学起来很容易上手。

它有些近似严格的语法规则使它保持了代码的一致性,所以不同人之间的代码看起来相似。 即使是缺乏经验的人,也可以很方面的去阅读。

假设我想用Python 3打印下面一段。我会写:

print (“On the other hand, if I wanted to print the next paragraph in C++, I would have to write:”)

#include <iostream>

int main() {

std::cout << "All of that’s to say, Python is pretty simple in comparison.\n";

}

Python社区也很欢迎菜鸟程序员。 正如Hillary所描述的那样,语言本身和围绕它的社区有这样的态度:”不要担心,如果出现问题,我们会保护你。“

尽管Python对于初学者来说非常棒,但它也拥有完成高级工作所需的全部功能。 Hillary每天都在使用Python来处理和分析数百万来自Codecademy的学员的数据,她说:“你真的可以用Python做所有事情,有许多真正的,严谨的人在使用它。”她继续说:“Python会和你一起成长。开始会很容易,但当有一天,你决定要做自然语言处理,机器学习或者TensorFlow时,它也会变得非常相关。 你也可以做到这一切,因为它是一个完整的语言。“

在我们的“2017年全球未来工作报告”中,我们发现,我们的学员正朝着Python方向发展,然后就没再离开。 已经使用Codecademy学习过其他语言的人(40%)要学习Python, 这比学习过Python的人要学习其他语言(25-30%)的比例要高。 这个数据看起来和Hillary的观点是一致的 - 你可以用Python做很多事情,这可能是像我这样的人唯一需要的语言。

所以接下来呢?

我清楚地知道,Python是编程语言的瑞士军刀 - 一种多用途的工具,可以用于任何职业。 出于这个原因,我相信它不会很快地消失。

对于新手编程员,市场营销人员,业务分析师,银行家以及任何想要更多使用数据的人来说,这都是理想之选。 所以,我知道接下来我将学习哪种语言 - 这个入门课程只需要13个小时。

准备和我一起开始使用Python吗? 我们的免费Python课程将带你从基本的语法到更高级的概念,比如迭代数据结构。 就像Python本身一样,这个课程的设计可以让你发展到你所想要的深度,无论哪个方向对你和你的职业生涯都是有利的。

如果你有兴趣将Python应用于数据科学和分析的话, 在我们的“数据分析专业强化课程”中,你将学习如何使用像Hillary每日使用的Python库 - 熊猫,Numpy,SciPy和Matplotlib来操作,分析和可视化数据。

编后:如果有读者希望看到中文资料的话,以下的链接或许能提供一些帮助。

Python的中文资料

  1. Python 入门指南

  2. Python 资源大全中文版

  3. Python Philosophy(Python哲学)翻译及简析

  4. pythondocument

编译组出品。

编辑:郝鹏程、王雅琪

《转载》为什么我要在2018年学习Python?的更多相关文章

  1. 零基础2018如何系统地学习python?

    首先告诉你的是,零基础学习开始系统学习Python肯定难,Python的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真 ...

  2. 2018.2.21 Python 初学习

    折腾了一天,一直在用CMD学习Python写Hello World.偶然间发现可以用Pycharm.也算是给后面想学习的人提个醒,方便省事许多. format()使用方法. age = 20name ...

  3. 以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)

    本人之前写过若干“给程序员加财商”的系列文,目的是通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得. 在之前的系列文里,大家能看到K线,均线,成交 ...

  4. 学习Python编程的11个精品资源

    本文由 伯乐在线 - atupal 翻译自 Alex Ivanovs.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. 用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程 ...

  5. 小白学习Python之路---开发环境的搭建

    本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido v ...

  6. 深度学习python的配置(Windows)

    Windows下深度学习python的配置 1.安装包的下载 (1)anaconda (2)pycharm 2.安装教程 (1)anaconda a.降版本 b.换源 (2)pycharm a.修改h ...

  7. Python学习笔记之--我又开始学习Python了(随时更新)

    2019.02.09 更新 Python 学习计划已经开始几天了,跟着一本叫<Django for beginner>的书籍在学习用Django搭建自己的第一个网站,目前已经进行到第三章, ...

  8. 萌新学习Python爬取B站弹幕+R语言分词demo说明

    代码地址如下:http://www.demodashi.com/demo/11578.html 一.写在前面 之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样 ...

  9. 学习python

    最近感觉Python 很不错的样子,乘着这次寒假,不如就先学一下吧. 翻看了一些教程,发现<python 简明教程>质量上乘. 我目前学习python就是打算做一些上位机之类的,好像有点杀 ...

随机推荐

  1. MySQL存储过程、触发器 小例子

    一.存储过程 语法: CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...]) BEGIN ... END 参数: IN 输入参数 表示该参数的值必须在调用存 ...

  2. java做web项目比较多

    WEB就是轻量级:如果要炫,FLEX或即将普及的html5.0都能做到像C/S那样. java做web项目比较多:如果是桌面程序,还是走C/S比较成熟. 如果是B/S架构的,后台还是JAVA,前台可以 ...

  3. Java内存、CPU占用率过高

    windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码 linux下查找java进程占用CPU过高原因 Java 占用CPU使用率很高的分析 记一次线上Java程序导致服 ...

  4. (实用)使用unetbootin制作Linux的U盘启动盘

    本文介绍在Ubuntu(基于Debian的操作相同)使用unetbootin将Linux操作系统的安装镜像烧录到U盘中,使得U盘成为安装介质.当然,windows系统下也同样可以使用该软件的相应版本. ...

  5. Java虚拟机垃圾收集器与内存分配策略

    Java虚拟机垃圾收集器与内存分配策略 概述 那些内存须要回收,什么时候回收.怎样回收是GC须要完毕的3件事情. 程序计数器.虚拟机栈与本地方法栈这三个区域都是线程私有的,内存的分配与回收都具有确定性 ...

  6. [CentOS]使用Jenkins配置Git+Maven的自动化构建

    背景 最近安装Jenkins,参照网上的各种资料进行尝试,折腾了好久,但是查找了这么多资料,相似度在90%以上!!!,相同的安装过程,测试了几台机器,未曾成功,不得不感慨自己能力有限,最终慢慢摸索,形 ...

  7. Docker镜像相关

    一.中间镜像 通过持续集成工具Jenkins构建Docker镜像并运行容器,采用的是Docker Compose来进行编排构建运行的.但是每次构建完毕以后通过docker images命令查询,可以发 ...

  8. unity3d Start执行不同时问题

    1.一个Scene的场景里有许多的GameObject,很多GameObject上绑定了Script,每个Script上又都有Start函数 using UnityEngine; using Syst ...

  9. cocos2d - 翻转两个Sprite

    用两个图片初始化两个CCSprite,一样的大小,重叠在一起,分别叫做 foregroundNode 和 backgroundNode . - (void)flipover { if (isFlipi ...

  10. PHP安全之临时文件的安全

    (一)临时文件简介临时文件,顾名思义是临时的文件,文件的生命周期短.然而,很多应用的运行都离不开临时文件,临时文件在我们电脑上无处不在,通常有以下几种形式的临时文件: 文件或图形编辑程序,所生成的中间 ...