随着数据科学概念的普及,Python这门不算新的语言也变得一团糟。因为之前写过几篇用Python进行数据分析的文章,经常有读者和同学在留言区问我,如果想学Python,应该怎么入手呢?我经常需要根据他们的不同情况提出相应的建议。这种针对性虽然强,但是效率不高。我还是把这个问题写出来,让更多的人一起看到。
几位出版社的编辑私信给我,鼓励我尽快写一本Python教材。我目前还没有编写基本 Python 教程的计划。因为在我看来,现有的学习资源已经足够好了。
但是,现成的资源和路径那么多,为什么很多人还在为学习Python发愁呢?因为学习有一个效率问题。 Python语法清晰、清晰、易学,这也是Python如此受欢迎的一个重要原因。但是,选择合适的Python学习方法需要结合自己的特点。
人群划分的标准是什么?不是你是否计算机相关专业,也不是你是否已经工作,而是一个重要的指标——你的
自律能力。
你可能会觉得我说的没有任何信息量。自律能力强,学习好,谁不知道?但是,自律不够的人,就注定什么都学不会吗?当然不是。
每个人的性格都有不同的特点,没有绝对的优劣之分。不信你听听刘宝瑞老师的相声《天天三险》就明白了。自律也是如此。只要你能清楚地了解自己,你就可以更有效地学习新知识和技能。
下面我们来分类讨论一下,不同自律能力的人如何学习Python才能更高效。我为大家准备了三种完全不同的路径,相信你一定能找到适合自己的。
路径 I:适合自律能力最差的人
咱们先从自律能力最差的人说起。
这样的学生往往三分钟火爆。一次偶然的机会促使我学习了 Python,这样我就可以从事数据科学方面的职业。他会立马跑到图书馆或者书店,带回一本《从入门到精通Python的X天》开始咀嚼。结果,在X日到来之前,我顺利的跑完了从入门到放弃的全过程。
你没能坚持下来,自己肯定是有责任的。但是问题,在于过度高估自己的自律能力。这样的同学,我推荐你到
Coursera 平台上
,按部就班学习一门非常好的 MOOC——Programming for Everybody。
这本书在Amazon上的评价是这样的:
Charles Severance 认为这本书写得非常好,他想将其用作教科书。于是在征得作者同意的情况下,我大量借鉴了本书的内容结构,编写了一本名为《Python for Informatics》的书。
查尔斯在写这本书的时候,还开放了iBooks格式,里面有他自己的讲课视频,学生可以直接观看。
后来Charles用这本书扩展做了MOOC。 2015年推出后不久,硅谷的高级工程师争相学习。
在目前全球 MOOC 口碑榜上,Charles 的这门课一直名列前茅。
对于自律程度低的同学来说,下面这个特性更重要:
一切工作都有时限。
老师在前面带你,助教在旁边催你,平台用时间表提醒你,论坛上的同学用同辈压力推着你……想偷懒?想三天打鱼两天晒网?难的。
路径 II:适合自律能力中等偏上的人
如果你的自律高于平均水平,那么你的选择范围很广。
这里我给你推荐另一个MOOC平台,叫做
Datacamp。
当时这个平台给我留下了非常深刻的印象,因为代码运行在云环境中。学习者无需在本地安装任何环境,一款支持HTML5标准的浏览器即可为你带来完整的学习体验。
对于初学者来说,这是一个很好的入门方式。要知道很多人的学习热情都被环境配置和依赖软件包安装这些坑埋没了。
路径 III:适合自律能力强的人
对于自律能力强的学生,你的选择可以变得非常简单明了——你可以使用最受推崇的教材,自学。
最受推崇的教材,其实是没有的。正如西谚有云:
One man’s meat, is another man’s poison.
这个世界上,没有什么是大家一致同意的。但是也有一些名声很好的教科书,比如这本奇怪的名字“Learn Python the Hard Way”。
不要被名字所迷惑,顾名思义,这是一本糟糕的 Python 入门教程。相反,本书的设计非常符合人们的认知规律。
我们学东西由浅入深,由易到难,循序渐进。如果你一味地追求新知识,那么你以前学过的东西很快就会被遗忘。如果总是在原地打转,会带来沉闷乏味的感觉。你还记得高三时做的试卷吗?
一本好的教科书应该在每一章中为学习者提供新的知识和内容,并提出足够的挑战。但是挑战不应该太高以至于学习者变得沮丧和放弃。同时,不可忽视的是,在后续的内容中,之前学过的知识会发生螺旋式变化和重复。只有这样,才能巩固所学,让学习者感受到基础知识的作用,增强学习的乐趣。
这么说有点抽象。其实,有一本英语教材是非常符合上述认知规律的。是我在课堂上和文章中反复推荐的一套教材:
《Learn Python the Stupid Way》也是这样一本书。你需要做的就是打开本书,同时打开一个好用的代码编辑器,按照书中的要求开始输入、运行、修改代码……
下图是我当初学习时,照着这本书敲的代码。
书中Python基础内容训练的完整性是迄今为止无可比拟的。顺便说一句,这本书有中文版。所以如果你的英语不好,完全不用担心。
只是一个忠告,你应该学好英语。它不仅开阔了你的视野,也增加了你可能的机会。考虑到仔细阅读这部分的读者都是自律性很强的人,我就不用多说了。
挑战
三个基本的Python入口路径就讲完了。通过对自己自律的清晰认识,相信你一定能找到适合自己的方法,逐步学习和掌握Python。
但是看完了,听完了,不就完事了吗?当然不是。
很多人在这里犯错误。他们认为拿到证书或读完教科书后,他们就真正掌握了 Python。然后就把这门语言放在一边,去看美剧和小说。相信我,你会忘记的。如果你永远不会忘记你很久没有碰过的东西……去医院检查一下。大多数人的记忆模式是这样的:
如果你不去干预,一周之内,你几乎可以忘记所有你学到的新知识。如果你不想这么轻易地浪费你来之不易的 Python 知识怎么办?
实践
你应该实践。
练Python技能,不一定要找世界500强公司的核心技术部门。完成“996”工作需要N年时间。你可以从生活中发现各种有趣的问题,然后想想能不能用Python编程来解决。
在完成我的第一个 Github 项目后,我真的觉得我第一次掌握了 Python。
该项目非常简单,使用Python作为胶水语言将一系列工具连接在一起。你可以一键将 Markdown 编写的内容转换成各种格式。
格式包括而不限于:
PDF/LaTeX;
Word;
Bitcron 文稿;
MarkEditor 文稿;
MWeb 文稿;
Bear 文稿;
TextBundle(可以导入 MindNode, Ulysses 等);
Reveal.js 幻灯;
发布版本 Markdown(图片一键至七牛图床);
本地版本 Markdown(简书等远程 Markdown 同步图片至本地);
Day One 日记。
其中一些功能正在陆续发布在Github公共项目中,地址在这里。
我从2014年开始做这个小项目,说实话,现在回头看当时的代码,简直惨不忍睹。但是如果你开始思考你自己,你可以发现生活中各种有趣的问题,然后思考你是否可以用 Python 编程来解决它。你可以从生活中发现各种有趣的问题,然后想想能不能用Python编程来解决。你可以从生活中发现各种有趣的问题,然后想想能不能用Python编程来解决。你可以从生活中发现各种有趣的问题,然后想想能不能用Python编程来解决。你可以从生活中发现各种有趣的问题,然后想想能不能用Python编程来解决。你可以从生活中发现各种有趣的问题,然后想想能不能用Python编程来解决。如果你的代码有这种感觉,就证明你在进步。
不要期望一出手就能写出完美的代码,而是时刻把“迭代”两个字记在心里。只有这样,你才能包容自己的笨拙,不断进步。正如古人所说:
勤学似春起之苗,不见其增,而日有所长。
在做这个项目的过程中,遇到了中文编码、隐私信息存储、文件名空间处理、绝对和相对路径、发布进程划分、功能解耦、带参数的网页图片地址等一系列问题……等等.
通过查看Git版本控制工具记录的日志和版本比较功能,可以清楚地看到你是在什么时候,用什么方法解决了这些问题的。那别忘了在你的工具箱里勾选新的小技巧。
只有当小问题逐渐被你克服,你才能真正感受到所学技能的价值,一点一滴积累自信。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python sorted 排序键和值11/23
- ♥ python如何合并多个excel单元格?12/02
- ♥ python3代码如何自动补全?11/15
- ♥ 如何忽略python中的异常10/03
- ♥ 如何在python中将列表转换为字符串08/15
- ♥ python和r语言有什么区别08/26
内容反馈