随着数据科学概念的普及,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 写作这本书的时候,同时开放推出了 iBooks 格式,里面就包含了自己的授课视频,供学生直接观看学习。

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

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

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

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

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

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

老师在前面引领你,助教在旁边督促你,平台用时间表提醒你,论坛上的同学们在用同侪压力推挤你……想偷懒?想三天打鱼两天晒网?很难。

路径 II:适合自律能力中等偏上的人

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

路径 III:适合自律能力强的人

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

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

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 撰写的内容随心所欲一键变化成各种格式。

格式包括而不限于: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 编程来解决它。的代码有了这种感觉,证明你在进步。

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

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

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

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

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

末尾,为大家准备了一些学习福利包,点击链接即可免费领取:python高薪就业(视频、学习路线、免费获取)​shimo.im

PS:当点进资料出现这样的弹窗,放心是正常的,继续访问就可以领取了

就业系列:

有方向有目标的学习才能节省时间,没有方向目标的学习,就纯粹浪费时间。

部分视频展示:

电子书系列:

视频容易理解,电子书作为辅助,有时候看视频不方便可以用电子书作为辅助

python人工智能系列:

讨论

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

专业放心的python入门视频_手把手教你掌握学习Python方法,让你不再从入门到放弃...相关推荐

  1. 手机python怎么用_手把手教你如何使用Python向手机发送通知

    你曾想尝试在服务器端或电脑上向手机发送通知吗? 你曾烦恼过企业邮箱的群发通知会触发防骚扰机制吗? 现在,我们可以用一种简单轻松的方法来代替企业邮箱进行通知了! 进行以下的实验,你需要做好以下准备 1) ...

  2. 软件_手把手教vscode配置c++,python开发环境

    原创:软件_手把手教vscode配置c++,python开发环境 之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为 ...

  3. python k线合成_手把手教你写一个Python版的K线合成函数

    手把手教你写一个Python版的K线合成函数 在编写.使用策略时,经常会使用一些不常用的K线周期数据.然而交易所.数据源又没有提供这些周期的数据.只能通过使用已有周期的数据进行合成.合成算法已经有一个 ...

  4. 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...

  5. 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...

    话不多说,首先先看效果图,它能够记录你在使用过程中的历史,方便你查看是否有错: 接下来就仔细分析一下是如何制作的: 简易计算器 第一步:导入资源库 在过程中使用到了tkinter这个资源库,win+R ...

  6. 小猿圈python视频_小猿圈分享学习Python的最佳方式

    原标题:小猿圈分享学习Python的最佳方式 python现在是世界上功能最多的编程语言之一,可以是用Python编辑应用程序,游戏.算法程序.还可以编程一个机器人,学习Python可以担任软件工程师 ...

  7. python bokeh教程_手把手教你用Bokeh进行可视化数据分析(附源码)

    Bokeh与Python可视化领域中的流行库Matplotlib和Seaborn不同,它使用HTML和JavaScript渲染其图形,这使得它在构建基于Web的应用中成为一个非常理想的候选者.它对于探 ...

  8. python 靶心_手把手教你使用Python实战反欺诈模型|原理+代码

    原标题:手把手教你使用Python实战反欺诈模型|原理+代码 作者 | 萝卜 来源 | 早起Python(ID: zaoqi-python) 本文将基于不平衡数据,使用Python进行 反欺诈模型数据 ...

  9. jsp mysql视频_手把手教你做jsp servlet mysql实现的图书管理系统附带视频开发教程和完整源码...

    上一个教程我们做的是对数据库框架底层原理的讲解,然后教大家做了一个自己的数据库框架,这次我们做的这个图书管理系统就是用我们上个教程自己写的数据库框架,整个项目做完框架运行的很稳定,没有出现任何问题.如 ...

最新文章

  1. Chrome添加Axure RP插件
  2. 光脚丫学LINQ(002):筛选数据
  3. 【Paper】2012_Design of high performance multimedia control system for UAV/UGV based on SoC/FPGA Core
  4. bug death march
  5. SAP Spartacus b2b 页面 popover append to body与否的不同行为
  6. 如何在计算机上阅读漫画书
  7. linux中wine yum安装,分享|在基于RedHat或Debian的系统上安装 Wine 1.7
  8. linux下sqlmap安装教程,(转)Sqlmap官网下载与安装教程[windows/linux版本]
  9. 如何用word写书_如何将100页PPT转换成Word?1键轻松搞定,看完你还用复制黏贴吗...
  10. GDAL插值使用示例
  11. 拜托!HTML渲染background-image的时候,url请一定加上‘ ‘(单引号)
  12. 数据库课程设计(学校运动会管理系统)
  13. 关于神经网络的英语单词有,神经网络的英文单词
  14. Arduino入门-Arduino编程语言入门教程
  15. 2013 域名注册商排行
  16. 个人空间岁末大回报活动12月25日获奖名单
  17. 【成长经历】----陪女朋友拔智齿
  18. JS 判断一个字符串是否为日期格式(兼容IOS)
  19. Java中的不可变集合介绍
  20. Linux网络代理服务器搭建及使用

热门文章

  1. linux修改SSH密码的方法
  2. Java培训总结-第1周
  3. TCP FIN_WAIT2定时器
  4. 《算法导论》第16章 贪心算法 个人笔记
  5. 计算机考研951,清华大学2020,考研专业课951最高分经验分享
  6. 我爱Flask之url_for()方法和HTTP请求
  7. 用python实现简版区块链-地址
  8. 带你一起Piu Piu Piu~
  9. 逻辑强化(04)真假推理 答案解析
  10. 产品思维训练 | 百度搜索强制跳转APP,背后的逻辑和用户体验