我的高效学习法
最近几年随着知识付费的兴起,很多优质的内容大家都触手可及,甚至你都不用自己寻找,知识就自动送到你面前,你的朋友圈可能就被一门课程给刷屏,比如前不久极客时间的 google 算法课程。但学习本身是一件非常逆人性的事,大部分人看到一篇好的技术文,第一反应先收藏,然后想着以后有时间慢慢的看。但 99% 的人收藏之后再也不会去看。技术人都会有个通病爱收藏资源,你想想自己百度网盘收集过多少教程视频?再想想多久没在看过这些资源?基本上都是在网盘积灰吃容量。
这个时代不缺信息、不缺好的资源,甚至只要你稍微用点心都可以接触到任何领域优质的内容。但同样一份技术教程,有的人看完就可以熟练掌握,而有的人却一点收获都没有。有的人越学技术越厉害,而有的人越学越觉得编程非常痛苦,学了好久还是写不出程序。
我最开始学习编程的时候也是如此,摸索了非常久的时间,才慢慢找到自己高效学习方法。
主动与被动学习
人的学习行为可以分为主动与被动学习,并且有个非常著名的「学习金字塔」理论,美国缅因州国家训练实验室还专门做了实验,并发布的「学习金子塔」的报告。
被动的学习方式:听讲、阅读、视听、演示,只能让你做到内容留存率的 5%、10%、20% 和 30% 的知识。
而主动的学习方式,如通过讨论、实践、教授给他人,会将原来被动学习的内容留存率从 5% 提升到 50%、75% 和 90%。
平常人的学习 Python 的路径一般是这样:首先找到一份 Python 教程,再凭着自己强大的意志力,努力的从头看到尾。好一点会记些笔记,自己动手敲些代码。但好不容易把一本厚厚的技术书籍看完之后,到了真正写代码的时候,发现根本敲不出来,而之前看过的内容也很快都忘记了。
这样的学习过程就是我们常说的被动学习,我们可以看到,学习 Python 的过程中你都是在听别人讲,或者自己看书,或是让别人演示给你。在整个过程中,永远是别人在输出内容,而你永远是被别人灌输,没有自己独立思考的行为。
一个知识想要牢牢的掌握,一定是要有自己独立思考的过程,比如与人交流讨论,把自己所学的内容讲述给别人听,用自己的语言归纳总结,写篇技术博客,甚至自己出教学视频。
举个大家都懂的例子,那就是英语学习。我们从小就开始学习英语,有些人读书期间英语成绩很不错,做起语法题都非常容易。但真正叫你跟老外交流的时候,除了 Hello、How are you、I'm fine, thank you, and you?,新概念素质三连,其他什么也说不出来。
学了十几年的英语大部分人连最基础的口语交流都做不到,本质上来讲就是因为大家一直都是在被动的学习,从来没有主动用过英语。
我的 Python 高效学习方式
在我最初学 Python 的时候就是一直在被动的学习,一直看着别人的教程,跟着别人的思想走,这样的学习方式导致我的学习效率非常的低下。后来我接触到「学习金字塔」理论之后,我开始慢慢的输出学到的知识,由被动转主动,开始每天在公众号发表文章,输出我学到的内容。开始与人交流,在自己的技术交流群帮别人解疑。
如果你是刚学 Python 或者想把 Python 学好,首先第一步一定要理清 Python 都有哪些技术,Python 都有哪些方向可以走。然后就是按部就班的开始打基础,我总结了下 Python 的学习路径。
1、Python 相关书籍若干本;
2、了解 Python 基础数据类型;
3、熟悉各种类型的操作方法;
4、理解函数和类的概念。
5、练习练习再练习。
其实 Python 的学习,上手很容易,难就难在如何进阶。作为一个过来人,我整理了一些学习资料,希望会对各位的学习起到帮助。
这里给大家整理了一套完整的学习体系 ,前期以被动学习为主,把每个知识点都认真学过去,后期慢慢再把自己所学到的知识全部输出,可以是写技术博客,也可以是讲给别人听,以主动输出来继续精进。
一、Python基础
掌握 Python 基础相关的知识是为了后续的学习打下坚实的基础。这一部分是针对小白或者对 Python 还不太了解的朋友,当然入门了的朋友也可以巩固一下。
二、Python 网络爬虫基础及进阶实训
网络爬虫是一种程序,主要用于搜索引擎,它将一个网站的所有内容与链接进行阅读,并建立相关的全文索引到数据库中,然后跳到另一个网站。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。这样下来,掌握 Python 网络爬虫将是我们的学习之路。
三、Python 人工智能基础与进阶——机器学习与数据挖掘、深度学习
现今人工智能无疑是今年最为火热的行业,由于人工智能领域的人才需求量急速增长,基础层研究人才成为最大人才需求点,包括深度学习、机器学习、数据挖掘、神经网络等细分领域都“一将难求”。
四、Python WEB 开发技术实训
Web 中关键是提供服务的网站,而组成网站的关键元素是网页。这些网页包括文字、图片、音乐等,而且网页还有静态和动态的区别,动态网页可以自动生成新的页面。想要学好 Web 开发技术要先了解 Python 网络开发知识,熟悉 Python 网络编程,为工作实战打下基础。
五、Python 自动化运维技术实训
随着技术的进步、业务需求的快速增长,一个运维人员通常要管理上百、上千台服务器,运维工作也变的重复、繁杂。把运维工作自动化,能够把运维人员从服务器的管理中解放出来,让运维工作变得简单、快速、准确。要了解自动化运维技术,先熟练使用 Ansible 等运维工具,熟悉掌握互联网企业运维流程。能够自主搭建 B/S 自动化运维平台。通过 Python 实现对集群服务器进行批量自动化运维。
那这些被动学习期间的资料如何获取?
这里我已经给大家把所有的资料都全部整理好,免费都送给大家对 Python 开发技术感兴趣的同学,可以加 QQ 群:705673780,即可免费领取资料。群内甚至已经有小伙伴将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群免费领取。
在群里也给大家提供主动交流学习的环境,希望大家可以多多交流和沟通,努力的用主动学习方式去输出自己所学所得。