之前,我经常被问到这样的问题:

  • 看书很枯燥,应该怎么学习 Python?

  • 我是小白,适不适合学习 Python?

  • 有没有书籍或者学习资源推荐?

我都简洁的回答:像玩游戏一样学习,你要从中获得成就感;如果你能学会玩游戏,就能学会 Python。说到游戏,我的公众号取名「Python七号」,就是源自王者荣耀里的「鲁班七号」,它简单易学,输出高,还有句名言:相信科学!

今天展开来说一下。

其实,我从未研究过怎么学习 Python,也从未把学习 Python 当作一个目标。两年前接触 Python,也就业余时间投入点精力,我已经熟练掌握 Python,并可以写爬虫、开发网站,解决不少实际问题。这也确实不算什么成就,但是这个方法我认为对任何想学好 Python 这个技能的人来说都是非常有效的。

首先,你必须无条件相信自己学得会。

没有人是 0 基础,你认识字就不是 0 基础,你上过中学、大学就不是 0 基础,你上过班就不是 0 基础,你有基本的理解能力、思考能力、沟通能力,就不是 0 基础,只要不是 0 基础,你什么都能学会,任何人只有愿意付出时间去搜索、去思考、去练习,没有什么东西是不学会的。如果你学不会,不是因为你基础差,而是你投入的时间不够,练习的次数不够。1 月学不会,那就学 3 个月,不行就 1 年,再不行就 3 年。

其次,学习 Python 不是你的目标,解决问题才是。

假如你已经学会了 Python,然后呢?如果你也不知道然后干啥,那么先不要学习,没有目标的学习,就是在浪费时间。试想 Python 的应用领域那么广,没有一个目标,东一榔头,西一棒子,怎么可能学的好。我们要以终为始,先明确学习的目标,然后对目标分解,针对每一个小目标去学习,每完成一个小目标,就是一个小小的激励,别小看这个激励,正是它推动着我不断学习。

当初我做运维,为了监控作业报错,就想着如何将报错日志发送邮箱,就搜了下,结果找到了 Python 发送邮件的 demo,将其改成通用的函数,用在了运维监控上,几行代码就搞定了,我觉得 Python 很有趣,很高效,运维领域有很大的用处,就研究了 Python 的基础语法,很快就可以上手了。

然后就想着如何将其变得更加通用,准备做成一个守护进程,自动解析指定位置的日志文件,收集报错信息自动发送指定收件人,有了这个目标,就学习了 apscheduler、watchdog、文件、编码、配置文件等相关的知识,很快就实现了,获得小小的成就感。

接下来就想着如何将其优化,准备做成一个 API,其他人调用这个 API 就可以发送报警,再扩展到发送微信、短信等功能,于是就学习了 Python 相关的 http 库,比如 fastApi、Flask、Django、Django-rest-framework,在遇到问题翻看开源代码的过程中学习了大佬的编程技巧,还顺带着学习了编程的设计模式。再次获得成就感。

因为接触了 Django,我就学习了如何开发一个网站,想着如何自己弄一个 Web,来提升上线的效率,有了这个目标,我就学习了 Python 的 Web 技术栈,了解到最流行的做法是前后端分离,于是我就学习了 Vue、nginx、uwsgi、redis 等技术栈,虽然不精,但是已经能为我所用了。正好有朋友有需求,就帮着做了个网站,赚了两万,虽然不多,但这是学习 Python 之后获得的第一桶金,这种激励会持续不断的推动着我去学习。

说了这么多,概括来讲,就是先有个明确的目标,无论它多么小(比如爬取一个网站的数据),无论它多么的俗(为了钱), 只有有了目标,学习 Python 就不会枯燥,而且目标实现了会获得成就感,这种成就感是学习的原动力,会吸引着你持续不断的投入时间,就好比玩游戏上瘾一样,我用 Python 上瘾。

此外,通过主动学习提升知识的留存率。

什么是主动学习?

简单来说,你被别人教,就是被动学习。比如,你看别人的文章、书、视频,当时感觉学会了,过几天可能就忘了,知识的留存率只有 5%。

你去教别人,就是主动学习。比如你写文章讲解一个技术,你做技术演讲,你写一套课程,写书,这都是主动学习,主动学习你需要付出大量的时间和深度思考,学习到的知识也会深刻印在你的记忆里,知识的留存率是 90%。

我目前仍在坚持写公众号,将自己学到的,分享出来,写作的过程中,会发现自己对某个技术也是一知半解,为了能够描述清楚,就要去搜集,去学习,去思考并理解,只有自己明白了才能讲清楚,这个过程也是学习的过程,这也应验了学习的金字塔结构,如下图所示:

主动学习除了写作,还可以做技术分享,做演讲,做直播,准备的过程就是主动学习的过程,这个过程除了让你收获更多志同道合的朋友,还可以积累影响力,有了影响力,就会有更多机会,这些机会推动着你再去学习,良性循环。

一句话,要想学会 Python,你先被动学习,然后主动学习,身边有人请教,就就去教别人,如果教不了别人,就教自己的女朋友或孩子。有本书叫《和孩子一起学编程》,耗子叔推荐过,很有意思。

最后,我学习 Python 的一些网站和书籍:

  1. Python官方文档[1]

  2. 菜鸟教程[2]

  3. 廖雪峰的官方网站[3]

  4. 极客时间「Python核心技术与实战」景霄

  5. 极客时间「设计模式」王争

  6. 电子书-0 基础学 Python-老齐[4]

概括来讲,就是为自己建立一套学习的激励系统,每实现一个小目标,就会获得奖励或成就感,这种成就感是一股强大的力量,不断推动着你去学习,去精进,这绝不是自欺欺人,要知道,人的大脑生来就是趋利避害的,要让它感受到学习的利,每努力一次,就会获得一次激励,大脑就会控制你,让你越来越喜欢这种感觉。

这样,你就会变得越来越好。

欢迎留言讨论

参考资料

[1]

Python官方文档: https://docs.python.org/3/

[2]

菜鸟教程: https://www.runoob.com/python3/python3-tutorial.html

[3]

廖雪峰的官方网站: https://www.liaoxuefeng.com/wiki/1016959663602400

[4]

电子书-0 基础学 Python-老齐: https://pan.baidu.com/s/14CzrrQ58bv20iwAxdf0YsQ密码:o66w

我就是这样学 Python 的相关推荐

  1. 自学编程是从python语言还是c语言开始-非计算机专业大学生想自学编程应该学C语言还是学Python?...

    之前总结的文章,分享过来,希望对你有帮助.windliang:到底学哪一门编程语言​zhuanlan.zhihu.com 发展进程 学哪一门编程语言,我们不妨先梳理一下语言的发展过程. 机器语言 计算 ...

  2. python转行it好学吗-转行IT做后端开发,学python还是java?

    这个问题,仁者见仁智者见智,只能看你自己的情况,看你更喜欢哪一个吧.其他人只能提供一些参考意见. Python现在是比较热门的语言,而且上手简单.但是,说实话,真正用这个开发企业应用的不多,除非是用在 ...

  3. python大游戏_玩游戏就能学Python?太炫酷了!

    原标题:玩游戏就能学Python?太炫酷了! 要说现在最火的语言,那一定是Python了. 各种排行榜里,Python的排名都是蹭蹭蹭地往上涨.Python也确实是最适合新手入门的语言了,语法简单,应 ...

  4. python 智能造句_[零基础学Python]正规地说一句话

    小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...

  5. 这本 Python 入门畅销书《“笨办法”学 Python 3》,不仅仅是一本书!

    在我们学习任何一门语言的时候,我们都恨不得有一本书或者有一节视频就能让我们学会所有内容,或者购买的书籍里能包含练习题,带着练习学习的话会更好的理解内容,Python编程语言的话题热度目前来看一直居高不 ...

  6. python 复制文件并重命名_潘石屹都开始学Python了,你还有什么理由放弃?

    今天,一条潘石屹学Python的微博引起了广大程序员的关注,小编也不例外.地产大佬如是说: 听听地产大佬告诉你为什么要学Python? 人家如此成功,还在学习的路上,你还有什么理由放弃学Python呢 ...

  7. 没有计算机基础可以学python-Python入门必看篇(面向小白)想学Python只看这一篇就够了...

    首先,让我们来看看Python是什么? Python是一种跨平台的计算机程序设计语言,一种面向对象的动态类型语言. Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在对 ...

  8. 想学python买什么书好-学习 Python 用哪本书好?

    目前在线教育.Github学习资源非常丰富,但是我依然认为学习Python过程中需要至少用心去看完一本书,文末有"惊喜". 因为,很多有关Python的在线教程都是出自个人或者无良 ...

  9. 零基础学python用哪本书好-零基础想要学习Python编程 ,不知道看哪本书?

    前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取! 想要学习Python编程不知道 ...

最新文章

  1. GHOST_XP详细制作过程
  2. 【DIY】DIYarduino温湿度计视频图文教程
  3. 洛谷P3919可持久化线段树
  4. java中数组合并的方法,数组合并--Java原生方法
  5. SERVER的蓝屏信息速查表--THREE
  6. Leecode 953. Verifying an Alien Dictionary[Easy]
  7. 数学建模算法总结(一)
  8. vs2013实现duilib结合cef的demo
  9. Guass_seidel迭代法
  10. 【历史上的今天】9 月 3 日:谷歌发布 Android 10;微软收购诺基亚;eBay 诞生
  11. Canvas Scaler 的3种模式
  12. 美团四面 Java 岗,终获 offer,我是这么回答面试官的
  13. 超微服务器安装操作系统,超微服务器bios设置
  14. React实现(Web端)网易云音乐项目(三),错过了真的可惜呀
  15. Go语言代码实现数字签名过程
  16. 浅谈联网汽车安全漏洞
  17. Unity Shader入门精要学习笔记 - 第14章非真实感渲染
  18. Vue可视化大屏 利用缩放transform:scale实现分辨率自适应
  19. 微信小程序 border设置单边框失效解决办法
  20. 照片毫米换算成像素,26mm×32mm,分辨率150dpi?

热门文章

  1. DAP数据分析平台可视化组件开发
  2. 计算机考试不在学籍库,有消息!中考报名将由学籍库直接导入,取消学校考试排名........
  3. 20145325张梓靖 《信息安全系统设计基础》第2周学习总结
  4. pandas取两个dataframe中不同的行
  5. PV值?H5埋点中的PV是什么???
  6. 具有硬件依赖性的计算机语言,具有硬件依赖性的计算机语言,被称为低级语言。下列哪些是低级语言?...
  7. linux内核-进程三部曲:创建、执行与消亡
  8. 远程公司内网服务器【内网穿透】
  9. IDEA的 tool 之 Duplicate detector
  10. 数据中心机房监控大厅效果图