我是herosunly,从985院校硕士毕业,现担任算法研究员一职。CSDN博客专家,2020年博客之星TOP。曾获得阿里云天池比赛第一名等Top名次,拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。
上周末晚上好朋友找我聊天,说他最近在学习Python,但却总处于两天打渔三天晒网的状态。他很想学好,可是学习效率低下、事倍功半,但却不知道问题出在哪里?所以向我请教学习编程之法。看到好朋友有如此学习上进之心,我也备受鼓舞,下定决心要帮他排忧解难。但说来容易,做起来难。一时之间,我也不知道如何下手。
说一千道一万,首先应当对现有问题有个定义,然后再对症下药。可问题的症结究竟在哪里呢?是学习不够用心、不够专注?还是好朋友不适合学习Python?心中提出了无数个设想,但却总觉得没有get到问题的本质?那问题的本质究竟在哪里呢?这周每逢闲暇时刻,不由用手撑着脑袋开始了思考。经过苦思冥想后,终于发现了问题的本质。为了帮助更多初学的朋友,将劳动成果分享给大家,所以也催生了这篇博客的诞生。初学编程的同学们,你们是否也遇到了类似的问题呢?
纵观个人三十多年的成长经历,最终得到了答案:玩是最好的学习方法。为什么这么说呢?回想起小时候玩搭积木的时光,用不同形状的积木随心所欲的进行搭配,最终构建成自己喜欢的物体,感觉充满了乐趣。可是在我们学习编程的过程中,往往都是根据教材或者视频按部就班的进行学习。活生生的把人当成了机器人,还有什么乐趣可言!如此一来,你可能就会在心中默念:这么枯燥的学习和练习还是交给那些程序猿吧。
之所以说玩是最好的学习方法。是因为玩的一大特点是自由自在,大家可以充分发挥自己的主观能动性,而不是被动的进行接受。所以玩的停不下来,越玩越有趣,最终形成了不断强化的正向循环。反观编程,往往得到的是不断负面的反馈,不由自主的从入门走向了放弃。
那如何在编程中做到呢?那如何在编程中做到呢?首先,我们要正确认识自己的编程水平。先做个简单的分类。把同学分为没有完整学过基础语法以及学过两个类别。
首先说下没有学过基础语法的同学,其中包含正在学习基础语法的同学,请在学习过程中保持“爱玩”的心态,可以尝试将不同的操作进行组合,具体该如何操作呢?,举几个栗子,请大家看到例子后思考并实践验证,例子如下所示:
a = 1
a *+1
b = (a = 1)
x = 10
def foo():
print(x)
x += 1
以上例子皆是抛砖引玉(甚至我们可以在键盘上乱打一通,然后猜一下会不会报错,报错的话会在哪里报错),希望大家能在学习语法中自主构建新的例子,从而加深对原有知识的理解。新手可以订阅系统讲解Python学习方法和语法的专栏:Python新手快速入门。
最后再说下已经学过Python语法的同学。既然已经系统学习过语法了,那就请开始实战吧。在实战过程中请记得也是在玩,也不是在做枯燥乏味的练习题。就像玩游戏一样,学会了基本的操作就开始敞开玩耍吧。那么问题来了,究竟进行什么样的实战呢?
选择非常之多,可以用Python来创建游戏,例如使用pygame来创建植物大战僵尸等小游戏;
可以通过爬虫完成各种自动化操作。例如CSDN自动点赞与评论、自动收取蚂蚁森林能量等。爬虫适合于绝大多数人,在实战和学习过程中会对Python、前端、后端都有更加深刻的理解。下图为每天早上7点15分自动偷取能量的截图,想要学习爬虫的同学可以订阅我的专栏:Python爬虫实战教程
当然,现在如火如荼的机器学习方向也是一个不错的选择。但相对来说,门槛要比之前的方向更高一些。想要学习机器学习的同学也可以订阅我的专栏:机器学习入门之工具篇和AI比赛教程。
大家在学习中还有什么想法或者疑问的话,也欢迎大家留言交流,一起进步。