社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 的进击

MacTalk • 7 年前 • 1535 次点击  

题图:by click_vision From Instagram

现在每天上班开车的时候有了个新习惯,就是听「极客时间」里的极客新闻,比如这条消息,就是我在极客新闻里首先听到的。

上周一,GitHub 发布了 2017 年度的观察报告,盘点了最受欢迎的编程语言、开源项目等诸多年度数据。GitHub 的注册用户已经到了2400万,横跨 200 个国家,其中 130 万为学生开发者。另外,GitHub 上还拥有 150 万组织和 6700 万的代码库,亚洲注册的开发者有700万。回头看看极客时间的注册用户数,我觉得我们还有段路要走。

做为一个老程序员当然最关心编程语言,没有想到的是,这次 GitHub 编程兵器谱上排名前三位的居然是 JavaScript,Python 和 Java。

GitHub 上的开源项目所使用的编程语言多达 337 种,由于 JavaScript 天然的开源特性和前端的火爆程度,排名第一实至名归,并且遥遥领先。

Python 则是一个进击的黑马,去年的第三名,成功赶超老牌劲旅 Java,排在了第二位。今年 Python 的 PR 比去年增加了 40%,毫无疑问,它的火爆得益于最近人工智能、深度学习和数据分析等相关领域的火热。

经常有初学者让我们推荐一门编程语言,左耳朵耗子怪蜀黍在他的专栏里推荐了 Go,那么我就来推荐 Python 吧。关于 Python 的今生来世和语言特性以及在 AI 时代的优势,大家可以参考我之前写的「人生苦短,我用 Python」,Python 是少数兼具简单和功能强大的编程语言,自由开放,扩展性好,并且具备跨平台的特性,同时兼具面向对象和函数式编程范式,并且有数不清的库可以供你使用,Python 标准库的规模非常庞大。它能够帮助你完成诸多事情,包括正则表达式、文档生成、单元测试、多线程、数据库、网页浏览器、CGI、FTP、邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面),以及其它系统依赖型的活动。只需记住,只要安装了 Python,这些功能便随时可用。

到了 AI 时代,这样的库有增无减,SciPy 是一个数值计算库,NumPy 是 Python 另一个开源的数值计算扩展库,Pandas 是基于 NumPy 的数据分析工具,matplotlib 是图形绘制库,最近火热的 Scikit-learn 则是开源的机器学习框架。

那么如何学好这门语言呢?其实方法很简单,如果你有时间又自律,读一本好书并持续的实践就好。另外,看看别人的做法,跟随高手学习,也是一种有效的途径。

下面我们看看麻瓜编程的创始人侯爵 、《编程小白的第一本 Python 入门书》作者 是怎么学习 Python 的。

******华丽的分割线******

在我决心开始学编程的时候,由于工作很忙,每天只能抽出来1小时去学习编程。那时候翻遍了知乎上大家推荐的国内外的书和课程,但教程中抽象枯燥的术语根本看不懂,基础教程大多都是几十章的教程或者是上百个视频,一点点看下去感觉像是在从 A 到 Z 背字典,就算背下来了也不知道怎么应用。而教程里的例子大多是1+1、小明的身高这类低龄益智题,让我觉得很无聊,感觉学了也没什么用,提不起学习的兴趣。那段时间学学停停,学到很难受了就停两天,就会觉得有点不服气,为什么我学不会呢?

后来我偶然看到了一个国外的博客,它里面用了一个车的例子,让我真正理解了方法和函数的关系。那时候我突然意识到,原来抽象概念是可以学会的,只要跟自己的实际生活相关联,总能找到一些类比去理解抽象概念。遗憾的是那个博客里面并不是每个概念都有这样的例子,于是我就试着自己去想象一些类比来帮助自己理解抽象概念,然后再敲一些简单的代码去验证,看看是不是和我猜想的一样的。

用了这样的学习方法之后,我的编程学习效率高了许多,不到两周时间就过完了主要的 Python 基础知识,建立起了基本的知识模型。回过头来想,之所以这种方法适合我,能让我学会,是因为我有了情景,我把编程用起来了。之前看很多教程,基本都是从第一章开始觉得会了,但实际上又不知道学的这个要怎么去使,这种感觉就一直在我的脑子里嗡嗡的转。那些教程实际上讲的是语法规则,但是这个东西不能教会你说话。促使你学会说话的是情景,是你妈妈问你「宝宝你吃苹果么?」,你就自然理解了吃的意思是什么。而那些教程都在一丝不苟的教语法,但有了情景,我这样的初学者才能学会。

有了这段经历之后,我就特别能理解初学者的感受。有些程序员会说,“Python 很简单啊,看一遍文档就都懂了”(潜台词:我很聪明,我是学霸)、“如果连 Python 都学不会,你就不要学编程了”(潜台词:只有我这样有天赋的人才能学编程)。我觉得可能是他们做这一行太久了,已经忘了初学时的痛苦和挣扎了,人是会篡改记忆的,会认为现在拥有的都是轻松获得的,但真实的经历永远是坎坷曲折的。

为了能让更多的编程小白轻松地入门编程,我把自己的学习经验结合 Python 中的核心知识,写了一本入门书(本书已经有十万多读者)。由于这段特殊的经历,各种机会向我抛出橄榄枝,我又做了两门课程,还成为网易云课堂 Python 微专业的合作伙伴。

信号与噪音

严格来说,你接触一门新的技能的时候,其实从信息的角度来讲,方方面面的信息你都应该知道。比如学滑雪的时候,少任何一点你都不能成为一个滑雪高手,但对于初学者最先应该知道的是怎样安全的滑行和刹车。也就是信息对于初学者是有重点的,但是很多编程教学者没做到这一点,他们把所有的信息都铺了出来。

筛选重要的信息,不光要选择那些看起来最明显的信息,同时还要选择那些为后面埋下根基的信息。比如说我要盖一座桥,也许这块现在不盖东西,但要把暗桩打好,让以后盖桥的时候有地方下脚。有本书叫《信号与噪音》,这也是我在做的事情,筛选出来对初学者入门有帮助的信号,暂时不需要关注的噪音就做降噪处理。

以使用为核心的学习

你在 Python 官网看到的文档,是语言的设计者和社区来撰写的,这个已经很权威、很官方了,语法规则讲的很全面,但它是以语言特性为中心的教学模式。初学者刚入门的时候不是为了了解语言,而是为了使用而学习,所以说对我来讲很有挑战的一点是,我找出了一个以使用为核心的教学模式。

这就如同于你刚一岁学说话的时候,你妈妈给你讲语法和语言学,这肯定是不对的,大家都知道这个道理,但是一换到一门形式语言、讲一门编程语言的时候,大家就不考虑初学者如何使用了。

实际上,能不能学了就会用,取决于有没有情景化的信息,有没有还原情景的上下文信息。看过了足够多的情景之后,初学者就能通过模仿获得经验,从而知道怎么把学到的东西用起来。

带着兴趣学下去

最好阅读的文字媒介,在现实生活中一定是杂志,因为它经过精心的排版,在厕所的5分钟都能随手拿来看一点。我自己有阅读障碍和注意力缺失的问题,所以我会很看重视觉化呈现,至少给那些像我一样觉得纯文字很枯燥的人一条出路,可以通过视觉化的内容去更高效的理解。

和纸质杂志不同的地方在于,课程中穿插了一些交互式的练习,可以让你练练手,获得即时反馈。就像是健身的时候,你去看教学视频,记忆的是一种影像。但是在做的时候,积累的是一种通过实践习得的经验。获得这种实践经验就是练习的必要性。但前提是要在大方向清楚的情况下去练习,否则练得越多错的越多,会让你产生很多的困惑,让你痛苦。

我希望能通过这些传达信息效率更高的方式,帮助更多新手、曾经从入门到放弃的人、被大多数教程忽视的人,充满兴趣地跨过入门的困境,带着学习的热情在自学编程的道路上走的更远。

——————————

感谢你能读到这里,我想你一定是对 Python 学习有浓厚的兴趣,下面推荐一场免费直播课。

10月31日,麻瓜编程的侯爵老师将会在网易云课堂上进行一场免费的直播分享,主题是《聊聊怎样学 Python 才有效》。在这场直播里,侯爵将会谈一谈计算机专业与非专业人士在 Python 这条学习路径上有何区别。也会与你聊一聊如何根据自身情况定制一条合适的学习路径。

本次免费直播的分享人是麻瓜编程的创始人侯爵老师,他是10万读者喜爱的《编程小白的第一本 Python 入门书》的作者,创作过网易云课堂上最畅销的编程课。

这场直播主要解决两个问题:

1、计算机专业与非专业人士在Python这条学习路径上有何区别?
2、如何根据自身情况定制一条合适的学习路径?

如何参与直播?

扫描下方 QQ 群二维码,加入直播交流群~在直播开始之前,助教MM将会放出直播地址,并挥舞教鞭敦促大家去听课~

最后推荐一下网易云课堂的《Python Web 开发工程师》。

网易云课堂《Python Web 开发工程师》微专业由麻瓜编程与网易云课堂联合开发,课程以实战项目为主线,你会在实践中循序渐进的掌握完成一个网站的关键知识,独立完成实战项目的前后端开发,用6周做出别人用4个月才能做出的成果

10月25日-11月3日,《前端开发工程师》微专业正在进行课程团购活动。预付1元,可在尾款期抵扣200元,有兴趣的同学欢迎戳“阅读原文”了解活动详情~


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ykKBR5ZPMl
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3965
 
1535 次点击  
文章 [ 1 ]  |  最新文章 4 年前