学习编程照着别人的代码敲进去有效率吗？
“模仿是人类一切学习的开始，然后才是创新，最后是你自己做主。“ 这是大画家毕加索说的，他接着说： “好的艺术家模仿皮毛，伟大的艺术家窃取灵魂。” 所以朋友，不要担心学编程敲别人的代码，这是踏入编程的第一步，非走不可。 你应该担心的是，你是在有思想的模仿，还是在机械的复制，这两者完全不同。 模仿的核心在于思考，敲完每一行代码，思考它的用途，与上下文的关系，这会让你构建一个输入-输出的闭环学习过程。 行为主义学习理论认为，学习是刺激和反应之间的联接，也就是说所有行为都是习得的。 一个优秀的程序员，必然是经过大量刺激-反应的训练，而对于初学者来说，对着书本敲代码是这一过程的开始。 而复制是很多人陷入学习泥淖的一个误区，敲了很多代码，还是思路混乱，无法自行解决问题。 因为复制只是流水线的重复操作，不会让你有任何进步。 之前看过一个纪录片，深圳有一些人专门从事世界名画的复刻，也就是做高仿，但是画了几十年也只能默默无闻，勉强糊口。他们能把名画的每一个细节都画出来，却没有自己的作品。 所以说，在学编程的初期，尽情的去敲代码，反复模仿别人的项目，这对后期有很大的帮助。 就拿学Python来说，github上有很多适合新手的练习项目，完全可以对着原代码敲。 下面介绍适合新手的python小项目： 贪吃蛇小游戏 用100行python代码写个贪吃蛇小游戏，也不复杂但涵盖了大部分python语法。 项目地址：https://gitee.com/codetimer/Snake/blob/master/main.py 可以尝试着先复制代码运行一遍，然后自己写。 人脸识别 调用开源项目，只需要简单的几十行python代码，就可以实现人脸识别。 从图片里找到人脸： 配合其它的Python库（比如opencv）实现实时人脸检测： 项目地址：https://github.com/ageitgey/fac 中文分词&情感分析 这个也比较有意思，可以爬取电商评论数据，然后分词处理，并做情感分析，判断好评、差评。 jieba可以用来做分词处理 https://github.com/fxsjy/jieba snownlp可以用来做情感分析 https://github.com/isnowfy/snownlp 车型识别 这里使用python调用百度的车型识别模型，只要导入车辆图片可以自动识别车型。 用Python实现所有常见算法 这个项目包含了上千个算法的Python代码实现，几乎囊括了大部分常见算法。 包括回溯、布尔代数、元胞自动机、线性回归、图算法、网络流等等 以排序为例，该项目提供了近50种算法，比如下面的树形选择排序： 其他排序： 项目地址：TheAlgorithms/Python