编程语言虽然不是自然语言,细细琢磨的话,其实在很多方面也是符合传统语言学(linguistics)规律的。比如,编程语言也讲究词汇学(关键字),结构学(程序结构),句法(语法),语义(代码功能)等;在语言的学习方法上,编程语言和自然语言也高度相似。
回想一下学习英语的过程,都有这样一个阶段:语法都搞明白了,词汇量也比英国农民多得多(据说英国的农民,平均词汇量800,但我一直未找到资料验证真伪),可就是说也说不出来,听也听不明白,急得捶胸顿足。再来看看初学者学习 Python 的情况,是不是也有这样一个阶段呢?基础语法都学完了,可是读别人的代码特别吃力,自己写又茫茫然不知从何处着手。
为什么会这样呢?我给出的答案是:缺乏语感!何谓语感,专业的定义如下:语感,是比较直接、迅速地感悟语言的能力,是语言水平的重要组成部分,是对语言分析、理解、体会、吸收全过程的高度浓缩,是一种经验色彩很浓的能力,其中牵涉到学习经验、生活经验、心理经验、情感经验,包含着理解能力、判断能力、联想能力等诸多因素。
以上就是我提出编程也要讲“语感训练”的理论基础。语感训练,并不等同于语法学习,也不是完整的小项目、小课题练习,而是针对编程实践中经常遇到的字符串处理、文件读写、列表字典元组集合对象操作等基本技能进行训练,帮助初学者建立语感。一旦建立起了语感,初学者就可以专注于功能的实现,而不会随时被一些小问题中断思维。
Python 语感训练涵盖列表、字典、元组、集合、字符串、格式化输出、类型和整数转换、文件读写、杂项等9个类别,共100道练习题。