将零碎的知识点体系化真的很重要,我把 Python 基础的所有要点都放在一张思维脑图(Xmind 做的)里了。不得不说思维导图真是体系化知识的好工具。
在公众号对话框回复 PYX
获取上面思维导图的 PDF
整个 Python 基础内容可被结构化成六点:
从下面动图可看出每个点的更多细节。
按上面这种方式来划分构建体系是有原因的,下面我来一一把它们串联起来。
编程概论:学习任何一种编程语言,我们都需要了解一些概论。类比计算机语言和人类语言,学习语言首先要了解其词汇和语法,再开始讲故事。
了解完概论就可以了解所有编程语言中最重要的一环,数据。
数据:数据的重要性不需要多讲,在 Python 中数据可分两大类:
数据会被命名成变量,变量(词)之间会发现联系(句子),当你试着「用词造句讲故事」的时候,你实际创建了一个流程,而流程需要控制。
流程:类比三种演绎故事的形式,代码也可以按顺序写、按条件写(if)、重复写(while, for),这些都叫做流程控制,当然在运行不出错的时候。如果出错了需要异常处理(try, except)。因此流程控制可细分
当你想重复使用一组语句时,你需要考虑函数。
函数:Python 定义函数有两种方式:
Python 把函数当成「一等公民」,即可把函数当成变量使用,进而可以定义高阶函数(普通函数和匿名函数都属于低阶函数):
介绍完数据和函数后,我们可得出
如果同时要处理到数据和行为呢?考虑对象和类。
对象和类:对象是既具有数据又具有行为的实例,而类是对象的描述。变量和函数是零散的,而对象将它们集合起来,
字段和方法统称为类的属性(attributes)。
基于对象编程叫做「面向对象编程」,里面的知识点包括:实例变量、类变量、实例方法、类方法、静态方法、继承、多态、魔法方法、属性装饰器等。
高级特征:这是都是些锦上添花的东西,包括格式化字符串、正则表达式、解析表达式、生成器、迭代器和装饰器等等。一句话来总结这些知识点:
现在我已经把整套 Python 基础知识的体系建出来了,当然每个知识点还有很多细节要去深挖。学习一个新事物时,我痴迷于去体系化其要点,去对比和类比其性质、这样知识点会越来越明晰。