盘一盘如何「体系化」学习 Python 基础知识

将零碎的知识点体系化真的很重要,我把 Python 基础的所有要点都放在一张思维脑图(Xmind 做的)里了。不得不说思维导图真是体系化知识的好工

盘一盘如何「体系化」学习 Python 基础知识

在公众号对话框回复 PYX

获取上面思维导图的 PDF

整个 Python 基础内容可被结构化成六点:

  1. 编程概论

  2. 数据

  3. 流程

  4. 函数

  5. 对象和类

  6. 高级特征

从下面动图可看出每个点的更多细节。

盘一盘如何「体系化」学习 Python 基础知识

按上面这种方式来划分构建体系是有原因的,下面我来一一把它们串联起来。

编程概论:学习任何一种编程语言,我们都需要了解一些概论。类比计算机语言和人类语言,学习语言首先要了解其词汇语法,再开始讲故事

  • 词汇包括保留字(keyword)和变量名(variable name)

  • 语法包括缩进冒号等等

  • 故事可由三种方式来演绎,按顺序讲;按条件讲;重复

了解完概论就可以了解所有编程语言中最重要的一环,数据


数据:数据的重要性不需要多讲,在 Python 中数据可分两大类:

  • 元素型:整数、浮点、布尔、None

  • 容器型:字符串、元组、列表、字典、集合

数据会被命名成变量,变量(词)之间会发现联系(句子),当你试着「用词造句讲故事」的时候,你实际创建了一个流程,而流程需要控制。


流程类比三种演绎故事的形式,代码也可以按顺序写、按条件写(if)、重复写(while, for),这些都叫做流程控制,当然在运行不出错的时候。如果出错了需要异常处理(try, except)。因此流程控制可细分

  • 按顺序:一句一句写

  • 按条件:用 if 语句

  • 按重复

    • 用 for 循环 - 当循环次数事先知道

    • 用 while 循环 - 当循环次数事先不知道

  • 要纠正:用 try, except, else, finally 语句

当你想重复使用一组语句时,你需要考虑函数


函数:Python 定义函数有两种方式:

  1. 用 def 定义普通函数

  2. 用 lambda 定义匿名函数

Python 把函数当成「一等公民」,即可把函数当成变量使用,进而可以定义高阶函数(普通函数和匿名函数都属于低阶函数):

  • 把函数当成输入参数

  • 把函数当成输出结果

介绍完数据和函数后,我们可得出

  • 如果只处理数据,将其存储在列表,字典或其他数据中

  • 如果只处理行为,而没有存储数据,则使用函数更合适

如果同时要处理到数据和行为呢?考虑对象


对象和类对象是既具有数据又具有行为的实例,而类是对象的描述。变量函数是零散的,而对象将它们集合起来,

  • 在对象里也有变量,用来存储数据,这时变量又称字段fields) 

  • 在对象里也有函数,用来操作数据,这时函数又称方法methods

字段和方法统称为类的属性attributes)。

基于对象编程叫做「面向对象编程」,里面的知识点包括:实例变量、类变量、实例方法、类方法、静态方法、继承、多态、魔法方法、属性装饰器等。


高级特征:这是都是些锦上添花的东西,包括格式化字符串、正则表达式、解析表达式、生成器、迭代器和装饰器等等。一句话来总结这些知识点:

  • 格式化字符串:f-string,用法 f' {v1} {v2} ... {vn} .'

  • 正则表达式:r-string,用法 re.function(pattern, text)

  • 解析表达式:列表、字典、集合解析式,用 [], {}()

  • 生成器:生成器是迭代器,但反之不是

    • 生成函数 + yield

    • 生成表达式 + ()

  • 迭代器

    • iter(可迭代对象) --> 迭代器

    • 迭代器是可迭代对象

  • 装饰器:用 @decorator_function


现在我已经把整套 Python 基础知识的体系建出来了,当然每个知识点还有很多细节要去深挖。学习一个新事物时,我痴迷于去体系化其要点,去对比和类比其性质、这样知识点会越来越明晰。

最后来做个投票调查:

分类:

技术点:

相关文章: