如果你一直想学Python,但是不知道如何入手,那就别犹豫了。这篇文章就是为你写的。

疑问

随着数据科学概念的普及,Python这门并不算新的语言火得一塌糊涂。

因为写了几篇用Python做数据分析的文章,经常有读者和学生在留言区问我,想学习Python,该如何入手?

我经常需要根据他们的不同情况,提出对应的建议。这样针对性虽强,但效率不高。这个问题,我还是写出来,让更多的人一同看到吧。

有几位出版社的编辑,给我发私信,鼓励我赶紧写一本Python教材出来。

我暂时还没有写Python基础教程的计划。因为在我看来,现有的学习资源已经足够好了。

有现成的资源和路径,为什么许多人依然在为学Python犯愁呢?

因为学习有个效率问题。

Python语法清晰明快,简单易学。这是Python如此普及的重要原因。但是,选择合适的Python学习方式,需要跟你自身的特性相结合。

人群划分的标准是什么?不是你是否计算机相关专业,也不是你是否已经工作,而是一个重要的指标——你的自律能力。

你可能觉得我说的话没有信息含量。自律能力强,学得更好,地球人谁不知道?

可是,自律不够强的人,难道就注定什么也不能学了?

当然不是。

每个人的性格都有不同的特点,没有绝对的高下之分。不信你听听刘宝瑞先生的相声《日遭三险》,就明白了。

自律能力也是这样。只要你能清楚认识自己,就能以更高效的方法来学习新知识和技能。

下面我们分类探讨一下,不同自律能力的人,该如何学Python,才能更高效。

路径I

咱们先从自律能力最差的人说起。

这样的同学,往往是三分钟热度。偶然受到了刺激,发奋要学习Python,以便投入数据科学的事业中。

他会立即跑到图书馆或者书店抱回来一本《X天从入门到精通Python》的书开始啃。结果X天还没到,就顺利跑完了从入门到放弃的全过程。

你没能坚持下来,自己肯定是有责任的。但是最大的问题,在于过度高估自己的自律能力。

这样的同学,我推荐你到Coursera平台上,按部就班学习一门非常好的MOOC——“Programming for Everybody”。

推荐这门课,是因为课程质量真是太好了。

首先是教材好。这本教材的来源是有故事的。

先是 Allen B. Downey 写了一本开放书籍 “Think Python: How to Think like a Computer Scientist”。

这本书在Amazon上的评价是这样的:

Charles Severance觉得这本书写得太好了,想把它作为教材。于是征得作者同意,大篇幅借鉴了这本书的内容架构,编写了一本 “Python for Informatics”。

Charles写作这本书的时候,同时开放推出了iBook格式。里面就包含了自己的授课视频,供学生直接观看学习。

后来,Charles用这本书扩展,做成了一门MOOC。2015年上线不久,硅谷资深工程师就都争相学习。

Charles深谙课程迭代的技艺。他不断添加内容,完善课程体系,将一门课发展成一个专项课程(Signature Track),并且将教材升级为 “Python for Everybody: Exploring Data In Python 3”

在目前全球MOOC口碑榜上,Charles的这门课一直名列前茅。

这个专项课程深入浅出讲解Python本来就很简单的语法,而且还用数据科学的一些基础工作任务,带动你去使用Python语言写简单项目。这种扎实的训练过程可以增强你的信心,激发兴趣。

对于自律程度低的同学来说,下面这个特性更重要——一切工作都有时限。

Coursera上的课程,每周的任务很明确。练习题正确率如果不能达到80%,就不能过关。到了截止日期,如果你不能完成全部练习和课程项目,就拿不到证书。

老师在前面引领你,助教在旁边督促你,平台用时间表提醒你,论坛上的同学们在用同侪压力推挤你……

想偷懒?想三天打鱼两天晒网?很难。

路径II

如果你的自律能力中等偏上,那么你可以选择的面就宽了。

这里我给你推荐另一个MOOC平台,叫做Datacamp。

我第一次接触Datacamp,是在2015年初。那时我在Coursera上选修杜克大学的统计学课程 “Statistical Inference”,配套的练习就在Datacamp上。

当时这个平台就给我留下了非常深刻的印象,因为代码的运行都采用了云环境。学习者不需要在本机安装任何环境,一个支持HTML5标准的浏览器就能带给你完整的学习体验。

对初学者来说,这种入门方式太好了。要知道,许多人的学习热情,就是被环境配置和依赖软件包安装的坑埋掉的。

两年之后,Datacamp已经迭代得更为强大。你可以打开首页的Data Scientist with Python这个学习路径,查看其中已经提供的20门课程。

这些课程涵盖了从Python基础,到数据处理,直至人工智能和深度神经网络的方方面面。

所有的课程设计,都是短小精悍的。一般不超过4个小时,就可以完成某一主题的学习。这样你学起来毫不费力,可以在相当短的时间内获得反馈(练习题自动评分)和成就感(证书)。

这个平台的课程,进度完全由学习者自己掌控。所以我把它归纳为适合有一定自律能力的学习者。

它既可以给你即时的回馈,让你时刻了解自己所处的位置进度,不会迷失方向,又能充分体验自主学习的乐趣。

Datacamp的课程,一般都是第一部分免费开放。后面部分购买后才能解锁学习。如果你对自己的学习能力和毅力有信心,可以购买一个完整时间段(例如一年)的课程。在此期间,所有平台上的课程,你都可以学习,并且可以在通过后获取证书。这样的购买方案本身已经有优惠,而且每年都会有特定时段的大幅打折促销,非常划算。建议放到购物车里面多关注。

这是我在Datacamp拿到的深度学习框架Keras课程证书。确实只需要几个小时的时间就能学完。成就感还是蛮强的。

路径III

前面提到的课程费用不菲。Coursera上每门课平均价格在49美元左右。对来自发展中国家的学生群体,Coursera可以提供助学金。你可以根据自己的需求如实填写申请表,来获得资助。

对于自律能力强的同学来说,你的选择可以变得非常简单直接——可以用最受推崇的教材,自己看书学习。

最受推崇的教材,其实是没有的。正如西谚有云:

One man’s meat, is another man’s poison.

这个世界上,就没有哪件东西大家都说好。但口碑非常好的教材是存在的,例如这本起了个怪名字的《笨办法学Python》(Learn Python the Hard Way)。

千万不要被名称迷惑,望文生义觉得这是一本糟糕的Python入门教程。

恰恰相反,这本书的设计,非常适合人们的认知规律。

我们学东西,由浅入深,由易到难,逐步递进。如果一味追求新知,那么之前学的东西会很快遗忘。如果总是原地打转,会带来枯燥和无聊的感觉。还记得高三做的那一年卷子吧?

好的教科书,应该在每一个章节给学习者提供新的知识和内容,提出足够的挑战。但是挑战性不能高到让学习者产生挫败感而放弃。同时也不能忽视在后续内容中把前面所学知识改换面目不断螺旋上升式重复出现。只有这样才能巩固所学,让学习者感受到基础知识的作用,增强学习的愉悦感。

这么说有些抽象,实际上有一本英语教材非常符合上述认知规律。就是我在课堂上和文章里反复推荐过的这一套教材:

《笨办法学Python》也是一本这样的书。你需要做的就是把书打开,同时打开一个好用的代码编辑器,开始按书中要求敲代码、运行代码、改代码……

下图是我当初学习时,照着这本书敲的代码。

书中对Python基础内容训练的完备性,至今无出其右者。

顺便说一句,这本书有中文版哦。所以如果你英语不好,完全不用担心。

嘱咐一句,英语真该好好学。拓宽的不仅是你的眼界,也增加了你可能获得的机会。考虑到仔细阅读这部分的读者都是自律性很强的人,我就不用多说了。

挑战

三条基本的Python入门路径讲完了。通过对自己自律能力的清晰理解,相信你可以找到一种适合自己逐渐学习和掌握Python的方式。

但是完成了读书和听课,是不是就完事大吉了?

当然不是。

许多人在这里犯了错误。他们以为拿到了证书,或学完了教材,就算是真正掌握了Python。然后把这门语言丢弃在一旁,去刷美剧和小说了。

相信我,你会遗忘的。

如果你对于长期不接触的东西从不遗忘……去医院检查一下吧。

大部分人的记忆模式,都是这个样子的:

若不加以干涉,不出一个星期,你就能把学到的新知识几乎忘光。

如果你不希望自己辛苦学来的Python知识被如此轻易浪费掉,怎么办?

实践

你应该实践。

实践Python技能,未必一定要找个世界500强企业的核心技术部门,“996”工作N年才能完成。

你可以从生活中寻找各种有趣的问题,然后思考能否用Python编程来解决它。

我真正觉得自己初步掌握了Python,就是在完成了我的第一个github项目之后。

项目非常简单,就是用Python作为胶水语言,把一系列工具连接在一起。可以把Markdown撰写的内容随心所欲一键变化成各种格式。

格式包括而不限于:

  1. PDF/LaTeX;
  2. Word;
  3. Bitcron文稿;
  4. MarkEditor文稿;
  5. MWeb文稿;
  6. Bear文稿;
  7. TextBundle(可以导入MindNode, Ulysses等);
  8. Reveal.js幻灯;
  9. 发布版本Markdown(图片一键至七牛图床);
  10. 本地版本Markdown(简书等远程Markdown同步图片至本地);
  11. Day One日记。

其中部分功能我正陆续发布在github公开项目中,地址在这里。相应地,我也撰文做了介绍。

这个小项目,我从2014年开始做。实话实说,现在回头看当时的代码,简直惨不忍睹。但是如果你逐渐对自己的代码有了这种感觉,证明你在进步。

不要指望自己一出手就能写出完美的代码,要把“迭代”两个字时刻装在心里。这样你才能容忍自己的笨拙,不断提高。正如古人说的那句:

勤学似春起之苗,不见其增,而日有所长。

我在做这个项目的过程中,曾经遇到了中文编码、隐私信息存储、文件名空格处理、绝对与相对路径、发布流程划分、功能解耦合、Web图片地址附带参数……等等一系列的问题。

通过回顾用git版本控制工具记载下来的日志,以及版本对比功能,你可以清楚看到自己是在何时利用什么方法解决了这些问题。然后别忘了,给自己工具箱里的新增小技能打个勾。

一个个小问题逐渐被你攻克的时候,你才能真正感受到所学技能的价值,并且点滴积累自信。

讨论

你学会Python了吗?你是用什么方法学会的?可否把你的学习心得体会分享给大家?对本文推荐的资源和路径,你有什么不同的意见,或者更好的建议?欢迎留言,记录下你的思考,我们一起交流讨论。

喜欢请点赞。还可以微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。

如果你对数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学?》,里面还有更多的有趣问题及解法。

作者:王树义
链接:https://www.jianshu.com/p/3678e3dd29f5

Python学习入门9:如何高效学Python?相关推荐

  1. python自学入门要多久,新手学python需要多久

    学python要多久? 零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存 ...

  2. Python学习教程:0基础学Python?手把手教你从变量和赋值语句学

    这篇Python学习教程将手把手教你入门学Python,从变量和赋值语句学起,前面也有专门给大家出过相关的详细教程,有需要的伙伴,可以找一下前面的教程! 导读:在本文中,你会学到如何处理数字.定义与使 ...

  3. python学习—第一步—跟着黑马学Python(一)

    目录 学习参考 操作系统 操作系统简介 虚拟机 操作系统发展简史 Linux内核及发行版 Linux的文件和目录结构 Ubuntu的图形界面 我的Ubuntu安装 学习参考 B站黑马程序员Python ...

  4. Python学习---入门导学篇

    Python学习---入门导学篇 Python的特点 Python受人喜欢的原因 Python的缺点 Python能做什么? Python基础语法 Python的特点 1.Python是一门编程语言, ...

  5. 如何高效学Python?好用的爬虫工具又有哪些?

    作为当下最火的编程语言,Python 的受欢迎程度不用我多说.学好 Python ,不仅可以进阶资深 Python 工程师,去大厂,还能转型数据分析.人工智能等行业. 但与此同时,我也经常在后台看到一 ...

  6. python零基础学难吗_零基础学习Python难吗?要怎么学Python才是最有效的?

    众所周知,Python是一种跨平台的计算机程序设计语言,也是最容易上手学习的编程语言.那么零基础学员学习Python难吗?要怎么样学Python才是最有效的?下面,我就带大家来看看如何学习Python ...

  7. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  8. 看漫画学python电子书-看漫画还能学Python❓❓❓| 0基础小白福音

    ��你还在枯燥无味地学编程吗?你还在闷头背诵那些根本没有理解的内容?根本不用那么煎熬!想不想来体验一下翻着漫画就搞定Python的感觉?? <看漫画学Python:有趣.有料.好玩.好用(全彩版 ...

  9. 小猪的Python学习之旅 —— 15.浅尝Python数据分析

    小猪的Python学习之旅 -- 15.浅尝Python数据分析:分析2018政府工作报告中的高频词 标签:Python 一句话概括本文: 爬取2018政府工作报告,通过jieba库进行分词后做词频统 ...

  10. python 使用socks 爬虫_小白学 Python 爬虫(17):Requests 基础使用

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

最新文章

  1. 任正非谈鸿蒙系统失误,谷歌也没想到会来的这么快,任正非谈鸿蒙:系统不难,生态快完善...
  2. Java基础 之软引用、弱引用、虚引用
  3. 【51nod2026】Gcd and Lcm(杜教筛)
  4. Git(11)-cherry-pick、reset、rebase
  5. python3 time datetime相关操作
  6. Spring的xml文件配置方式实现AOP
  7. App个人信息保护合规十大常见问题及处置策略
  8. MySql数据库 - 2.启动与关闭
  9. python定时任务之cron_Python定时任务框架APScheduler 3.0.3 Cron示例
  10. js 加密url java_js 对 URL 参数进行 加密 解密
  11. Linux 运维工程师学习成长路线上要经历哪四个阶段?
  12. jquery怎么选择 某个指定id的div下面的第2个子div再设置css?
  13. linux系统 ghost,Linux下用GHOST来做系统备份
  14. 近期CDRX4正常使用中突然提示盗版弹窗您的产品已被禁用永久解决教程
  15. 2020秋招阿里测试开发一面
  16. python模拟浏览器访问企查查_python爬虫另辟蹊径绕过企查查的登录验证,我太冇财了...
  17. 酷派大神F1移动版刷机教程卡刷教程
  18. 累计亏31亿的尚德机构:研发费用递减,多次被罚,市值缩水近九成
  19. 【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐
  20. 支付宝第三方支付保证数据的安全性

热门文章

  1. java家政项目,基于javaweb的家政服务毕业设计
  2. 谈一类神奇的数据结构——猫树
  3. 面试嵌入式开发工程师问的问题记录一下
  4. 【Windows】关于shift和空格同时按无反应的解决方案
  5. Django多域名配置之Django-hosts插件的使用
  6. 【ADO.NET--MVC】初学MVC(MVC入门)(1)
  7. NOIP练习赛题目6
  8. Dream------Hadoop--HDFS的设计
  9. 4.4 Iterator(迭代器)
  10. 《SOA中国路线图》下载