我就是这样学 Python 的
之前,我经常被问到这样的问题:
看书很枯燥,应该怎么学习 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 的一些网站和书籍:
Python官方文档[1]
菜鸟教程[2]
廖雪峰的官方网站[3]
极客时间「Python核心技术与实战」景霄
极客时间「设计模式」王争
电子书-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 的相关推荐
- 自学编程是从python语言还是c语言开始-非计算机专业大学生想自学编程应该学C语言还是学Python?...
之前总结的文章,分享过来,希望对你有帮助.windliang:到底学哪一门编程语言zhuanlan.zhihu.com 发展进程 学哪一门编程语言,我们不妨先梳理一下语言的发展过程. 机器语言 计算 ...
- python转行it好学吗-转行IT做后端开发,学python还是java?
这个问题,仁者见仁智者见智,只能看你自己的情况,看你更喜欢哪一个吧.其他人只能提供一些参考意见. Python现在是比较热门的语言,而且上手简单.但是,说实话,真正用这个开发企业应用的不多,除非是用在 ...
- python大游戏_玩游戏就能学Python?太炫酷了!
原标题:玩游戏就能学Python?太炫酷了! 要说现在最火的语言,那一定是Python了. 各种排行榜里,Python的排名都是蹭蹭蹭地往上涨.Python也确实是最适合新手入门的语言了,语法简单,应 ...
- python 智能造句_[零基础学Python]正规地说一句话
小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...
- 这本 Python 入门畅销书《“笨办法”学 Python 3》,不仅仅是一本书!
在我们学习任何一门语言的时候,我们都恨不得有一本书或者有一节视频就能让我们学会所有内容,或者购买的书籍里能包含练习题,带着练习学习的话会更好的理解内容,Python编程语言的话题热度目前来看一直居高不 ...
- python 复制文件并重命名_潘石屹都开始学Python了,你还有什么理由放弃?
今天,一条潘石屹学Python的微博引起了广大程序员的关注,小编也不例外.地产大佬如是说: 听听地产大佬告诉你为什么要学Python? 人家如此成功,还在学习的路上,你还有什么理由放弃学Python呢 ...
- 没有计算机基础可以学python-Python入门必看篇(面向小白)想学Python只看这一篇就够了...
首先,让我们来看看Python是什么? Python是一种跨平台的计算机程序设计语言,一种面向对象的动态类型语言. Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在对 ...
- 想学python买什么书好-学习 Python 用哪本书好?
目前在线教育.Github学习资源非常丰富,但是我依然认为学习Python过程中需要至少用心去看完一本书,文末有"惊喜". 因为,很多有关Python的在线教程都是出自个人或者无良 ...
- 零基础学python用哪本书好-零基础想要学习Python编程 ,不知道看哪本书?
前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取! 想要学习Python编程不知道 ...
最新文章
- GHOST_XP详细制作过程
- 【DIY】DIYarduino温湿度计视频图文教程
- 洛谷P3919可持久化线段树
- java中数组合并的方法,数组合并--Java原生方法
- SERVER的蓝屏信息速查表--THREE
- Leecode 953. Verifying an Alien Dictionary[Easy]
- 数学建模算法总结(一)
- vs2013实现duilib结合cef的demo
- Guass_seidel迭代法
- 【历史上的今天】9 月 3 日:谷歌发布 Android 10;微软收购诺基亚;eBay 诞生
- Canvas Scaler 的3种模式
- 美团四面 Java 岗,终获 offer,我是这么回答面试官的
- 超微服务器安装操作系统,超微服务器bios设置
- React实现(Web端)网易云音乐项目(三),错过了真的可惜呀
- Go语言代码实现数字签名过程
- 浅谈联网汽车安全漏洞
- Unity Shader入门精要学习笔记 - 第14章非真实感渲染
- Vue可视化大屏 利用缩放transform:scale实现分辨率自适应
- 微信小程序 border设置单边框失效解决办法
- 照片毫米换算成像素,26mm×32mm,分辨率150dpi?
热门文章
- DAP数据分析平台可视化组件开发
- 计算机考试不在学籍库,有消息!中考报名将由学籍库直接导入,取消学校考试排名........
- 20145325张梓靖 《信息安全系统设计基础》第2周学习总结
- pandas取两个dataframe中不同的行
- PV值?H5埋点中的PV是什么???
- 具有硬件依赖性的计算机语言,具有硬件依赖性的计算机语言,被称为低级语言。下列哪些是低级语言?...
- linux内核-进程三部曲:创建、执行与消亡
- 远程公司内网服务器【内网穿透】
- IDEA的 tool 之 Duplicate detector
- 数据中心机房监控大厅效果图