近年来,学习编程的春风吹遍了全国各地,仿佛不会编程,就要成为新时代的文盲了。
而 Python 凭借着其“简洁明了”的语法、随处可用的应用场合、处处能行的强大功能,在培训机构的推波助澜下,俘获了一大批学习者。
然而, 靡不有初,鲜克有终。
很多因为 Python 简单易学而选择它的朋友,最终骂骂咧咧地退出了“学习 Python ”的群聊。
不管是在贴吧、知乎还是在自己的群聊里面,刚刚接触的新手们经常问的,都是:
- 我照着xxx写,为什么没效果?
- 在XXX那一步,运行报错了怎么办?
- ……
最终,在漫无止境的报错和永无天日的找解决方案中,把Python踢出了群聊:
根据州的先生自学Python的经验来看,这些学习Python从入门到放弃的人儿,大抵上逃不出以下3个原因。
一、理不清代码的实现逻辑
Python的语法结构足够的简洁和明了,其近乎伪代码的语言实现,让词汇量很少的人都能够看懂每一行代码的作用:
@图片来自百度百科
然而一些初学者,翻开本书、或者照着视频看,就真的是依葫芦画瓢,书中怎么说,视频中怎么讲,自己就像一个复写机一样,照着写一遍。
照着写没问题,问题是得理解每一行代码的意思是什么。 自己能够复述书中或视频中每一行、每一块代码的具体作用,那么也就能理解了程序的逻辑。
程序是电脑用来自动化完成一些步骤的指令,这些指令就算交给人脑来处理,也应该有其逻辑和步骤。
就像州的先生在之前文章中有介绍到的“天猫商家联系方式自动采集”,其也就是源于人工的操作逻辑:
1、访问天猫商家店铺;
2、查询其工商企业信息;
3、从其工商企业信息中得知其公司名称
4、复制其公司名称
5、打开某查查类网站
6、输入公司名称进行搜索
7、点击最匹配的搜索结果,获取其企业信息
代码仅仅是对上述人工操作的步骤逻辑进行自动化的实现而已。程序的执行逻辑来源于人脑的逻辑,但是很多初学者却抛弃了自己的逻辑,就算照着书本、视频运行没问题,学习完了,自己还是不会写程序。
二、看不懂报错的意思说明
很多初学者害怕和恐惧异常报错。
面对程序运行的异常信息,往往如临大敌,绝望而无助。不过异常报错却是了解一门语言特性的绝佳场所。
很多人在编程过程中踩过一个坑之后,往往对那个坑所涉及的概念有很深刻的理解。这就是异常报错带来的作用。
异常报错,就像是现实世界的各种法律约束 ,让自己编写的程序在编程语言的世界里遵纪守法、安全地运行下去。如果你的程序违反了它的法律,那么它将中止程序的成长,并告诉你的程序犯了哪条哪规。
没有报错当然是最好的,出现了报错,正好可以借机了解这个编程世界的运行规则,避免未来出现更严重的错误。
看不懂的英文单词句子,复制粘贴到百度翻译、谷歌翻译,理解得明明白白。
以后,别再害怕异常报错了。
三、想不明学习的最终目的
很多人选择学习Python,并没有一个很明确的目的,或者是很清晰地需求,知道自己学习Python是用来干什么的。恰恰相反,一些人跟风想学,一些人听说简单,学学看反正不吃亏。
最终的结果就是, 入门入门又入门。入门书籍看了一二三本,入门视频看了一二三部,还是在入门。
门口有那么凉快吗?
Python的门口不凉快,但是对于一些初学者而言,Python的门里面房间太多,自己心里也没个准到底要近哪一间。
左边一个爬虫房、右边一个 Web 房,径直走还有一个数据分析房,东北方向还有一个图形界面开发房……
要是自己心里没有一个明确的方向,就会陷入《道德经》中所说的“ 少则得,多则惑 ”的状态,方向太多,都有机会试一试玩一玩,最终一个都没深入了解下去,只得在门口凉快地儿待着。
脱离了应试教育考试的指挥棒,对一个技能的学习如果不抱有一定的功利成分或者有一定的应用机会,是很容易夭折的。
就像自己,几年前学PS,然后几年没用PS修过图,仅有的修图也给交了某图秀秀,现在也是忘得只剩下魔棒工具抠图了。
所以,中道崩殂的你,准备诈尸还魂继续学Python吗?