Skip to content

术语表 ​

按主题分组。每个词给「中文 · English · 一句话解释」,最后有一张易混淆概念对照表。


语言与环境 ​

中文English说明
解释型语言interpreted language源码由解释器逐句翻译并执行,不需要单独的编译步骤。Python 属于这一类
编译型语言compiled language先把源码整体编译成机器码,再执行。如 C/C++、Go
字节码bytecode源码被编译成的中间形式,由 Python 虚拟机执行
解释器interpreter执行 Python 代码的程序;python3 -V 查的就是它的版本
交互模式interactive mode解释器跑完不退出,停在 >>> 等继续输入(python3 -i x.py)
非交互模式non-interactive mode从开始跑到结束,不中断(python3 x.py)
标准库standard libraryPython 自带的库,装了 Python 就能用,如 os、json、re
第三方库third-party library需要额外 pip install 的库,如 requests、pandas

基础语法 ​

中文English说明
变量variable给数据起的名字,随时可改指向
赋值assignmentx = 1,把右边给左边
数据类型data typeint / float / str / list / tuple / dict / set
整数integer (int)不带小数点的数
浮点数float带小数点的数
字符串string (str)用引号包起来的一串字符
列表list有序、可变、用 [] 表示,如 [1, 2, 3]
元组tuple有序、不可变、用 () 表示,如 (1, 2, 3)
集合set无序、不重复,用 {} 或 set(),如 {1, 2, 3}
字典dictionary (dict)键值对映射,用 {},如 {"name": "张三"}
索引index取元素的位置,从 0 开始;负数表示从后往前
切片slices[1:5:2] 取一段
类型转换type conversion / castingint("123")、str(456)
注释comment# 开头,给人看,不执行
关键字keyword语言保留字,不能当变量名,如 if、for、class
命名规范naming convention变量用小写下划线(snake_case)

流程控制与函数 ​

中文English说明
条件判断conditionalif / elif / else
模式匹配pattern matchingmatch / case(Python 3.10+)
循环loopwhile(条件) / for(遍历)
循环嵌套nested loop循环里套循环
推导式comprehension[x for x in range(10)]
函数function用 def 定义,可重复调用的一段代码
参数parameter / argument形参是定义时的占位,实参是调用时传入的值
默认参数default parameter不传就用默认值的参数
可变参数*args / **kwargs参数个数不固定时用
返回值return valuereturn 把结果交回给调用方;没有 return 就返回 None
作用域scope变量在哪个范围里可见
高阶函数higher-order function参数或返回值是函数的函数
装饰器decorator@xxx 写在函数上一行,用来增强函数功能

面向对象与模块 ​

中文English说明
类class用 class 定义,是「模板」
实例 / 对象instance / object由类创建出来的具体个体
方法method定义在类里的函数,self 是约定俗成的第一个参数
构造方法constructor (__init__)创建实例时自动调用,用来初始化属性
继承inheritance子类复用父类的属性和方法
魔术方法magic method / dunder形如 __add__、__str__,让对象支持运算符和内置函数
模块module一个 .py 文件就是一个模块
包package含 __init__.py 的目录,用来组织多个模块
导入importimport math / from math import pi

异常与调试 ​

中文English说明
异常exception运行期出错,如 ZeroDivisionError
语法错误syntax error程序跑不起来,如少括号、多缩进
捕获异常catch / handle exceptiontry ... except ...
抛出异常raise主动报错
自定义异常custom exception继承 Exception 定义业务异常
断点breakpoint程序在此暂停,breakpoint()
调试器debuggerpdb;常用命令 n / c / pp / break

项目实战 ​

中文English说明
网页抓取web scraping用 requests 拉页面,再用 re / BeautifulSoup 提取
正则表达式regular expression (re)匹配文本模式的「小语言」
数据框DataFramepandas 的核心结构,像带行列名的表格
虚拟环境virtualenv / venv给每个项目隔离一套依赖,避免版本打架
关系型数据库relational database用表和 SQL,如 MySQL / SQLite
NoSQLNoSQL非关系型,如 Redis(键值)、MongoDB(文档)
进程 / 线程process / thread并发的两种粒度;multiprocessing / threading
多进程通信IPC进程间传数据,如 Queue、Pipe
MVCModel-View-ControllerDjango 的架构划分:模型 / 视图模板 / 控制器
物联网IoT设备联网,如 ESP32 + MQTT
消息队列协议MQTT物联网常用的轻量发布/订阅协议
物模型thing model把设备抽象成「属性 + 事件 + 方法」的数据模板

进阶与常用库(第 10–15 章) ​

中文English说明
具名元组namedtuplecollections 里带字段名的元组,比普通元组可读
双向队列deque两端都能 O(1) 进出的队列,支持 maxlen
计数器Countercollections 里数数的字典,most_common() 取高频项
默认值字典defaultdict取不存在的键时自动给默认值,不报 KeyError
缓存装饰器functools.lru_cache把函数结果缓存起来,重复调用直接命中
上下文管理器context manager支持 with 语句的对象,进入/退出时自动执行
线程池ThreadPoolExecutor并发执行一批任务,适合 I/O 密集
多进程multiprocessing绕过 GIL 真并行,适合 CPU 密集
全局解释器锁GILCPython 的互斥锁,导致多线程不能并行跑纯计算
RedisRedis内存键值数据库(NoSQL),常做缓存
关系型数据库MySQL / SQLite用表和 SQL 的数据库
对象关系映射ORM用 Python 类操作数据库表,Django 自带
数据迁移migration把模型改动同步到数据库表结构
模板引擎template把数据填进 HTML,Django 用 {% %} / {{ }}
表格处理openpyxl / python-docx读写 .xlsx / .docx(.xls 旧格式要用 xlrd/xlwt)
数据框pandas / DataFrame带行列名的二维表格数据结构
绘图matplotlib画折线图/柱状图,保存成 png
HTTP 请求库requests发网页请求,比标准库 urllib 好用
正则表达式re文本模式匹配,findall / sub / split
JSONjson与 dict 互转:dumps / loads
人脸识别face recognitionOpenCV 的 LBPH 识别器,需 opencv-contrib-python
微控制器ESP32支持 Wi-Fi/蓝牙的开发板,可跑 MicroPython
MicroPythonMicroPython跑在硬件上的精简版 Python
MQTTMQTT发布/订阅式消息协议,物联网常用
烧录flash把固件/程序写进开发板,用 esptool.py

易混淆概念对照 ​

容易混区别
列表 vs 元组列表可变(能改),元组不可变(不能改);元组效率更高
列表 vs 集合列表有序可重复,集合无序不重复
= vs === 是赋值,== 是比较是否相等
is vs ==== 比值,is 比是不是同一个对象(同一块内存)
/ vs /// 除法得浮点,// 整除得整数
可变对象作默认参数def f(x=[]) 是陷阱:默认值只在定义时创建一次,会被反复共用
浅拷贝 vs 深拷贝浅拷贝只复制第一层,里层还是同一份;深拷贝递归复制
import a vs from a import b前者用 a.b 访问,后者直接 b
语法错误 vs 异常语法错误在运行前就被拦下;异常在运行时才发生
进程 vs 线程进程有独立内存,通信要 IPC;线程共享内存,但受 GIL 限制
while vs forwhile 条件成立就循环,for 遍历可迭代对象
append vs extendappend([4,5]) 把整个列表当一个元素加进去;extend([4,5]) 逐个加

返回总目录

内容基于开源课程《零基础学 Python》的 PPT 与配套代码(gitee.com/wilsonyin/zero-basics-python,LGPL-2.1)整理并重排为中文学习路径