社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

王的机器 • 4 年前 • 389 次点击  


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





在公众号对话框回复 PYX
获取上面思维导图的 PDF



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


  1. 编程概论

  2. 数据

  3. 流程

  4. 函数

  5. 对象和类

  6. 高级特征


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



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



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


  • 词汇包括保留字(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 基础知识的体系建出来了,当然每个知识点还有很多细节要去深挖。学习一个新事物时,我痴迷于去体系化其要点,去对比和类比其性质、这样知识点会越来越明晰。



最后来做个投票调查:


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56570
 
389 次点击