大家好,我是程序员晚枫(Wayne Liu)。

学 Python 的时候,最痛苦的不是写代码。

是看到一堆术语:迭代器、生成器、装饰器、上下文管理器、协程……

每个都认识,连起来不知道啥意思。

今天这篇文章,用最白话的方式,给你讲透 30 个 Python 核心术语。

看完你也可以和别人解释:什么是装饰器、什么是生成器。


一、为什么 Python 术语这么难?

原因 1:翻译问题

  • 很多术语是从英文翻译过来的
  • 中文翻译不够准确
  • 同一个词有不同翻译

原因 2:抽象概念

  • 很多概念是抽象的
  • 必须通过例子理解
  • 文字解释很难到位

原因 3:英文思维

  • Python 文档是英文的
  • 直接翻译过来,中文读起来很怪

所以今天这篇文章,用大白话讲。


二、Python 30 个核心术语

1️⃣ 基础概念(10 个)

术语 1:变量(Variable)

大白话:装东西的盒子。

1
name = "Alice"  # name 是个盒子,里面装了 "Alice"

术语 2:数据类型(Data Type)

大白话:东西的种类。

  • 数字(int、float)
  • 文字(str)
  • 列表(list)
  • 字典(dict)

术语 3:函数(Function)

大白话:能重复使用的代码块。

1
2
def greet(name):
return f"Hello, {name}!"

术语 4:模块(Module)

大白话:一个 .py 文件就是模块。

1
import os  # 导入 os 模块

术语 5:包(Package)

大白话:多个 .py 文件的文件夹。

1
2
3
4
mypackage/
├── __init__.py
├── module1.py
└── module2.py

术语 6:类(Class)

大白话:对象的"图纸"。

1
2
3
class Dog:
def __init__(self, name):
self.name = name

术语 7:对象(Object)

大白话:根据图纸做出来的东西。

1
my_dog = Dog("旺财")  # my_dog 是 Dog 类的一个对象

术语 8:实例(Instance)

大白话:对象 = 实例(一个东西两个名字)。

术语 9:方法(Method)

大白话:类里面的函数。

1
2
3
class Dog:
def bark(self): # bark 是方法
print("汪!")

术语 10:属性(Attribute)

大白话:类里面的变量。

1
2
3
class Dog:
def __init__(self, name):
self.name = name # name 是属性

2️⃣ 中级概念(10 个)

术语 11:迭代器(Iterator)

大白话:可以一个一个拿出来的东西。

1
2
for x in [1, 2, 3]:  # 列表就是迭代器
print(x)

术语 12:生成器(Generator)

大白话:不一下子把所有结果给你,需要时再算一个的"懒人函数"。

1
2
3
def gen():
yield 1 # 暂停在这里
yield 2 # 下次再从这里继续

术语 13:装饰器(Decorator)

大白话:给函数"穿衣服",不改函数本身,但能让它多些能力。

1
2
3
@decorator
def my_function():
pass

术语 14:上下文管理器(Context Manager)

大白话:自动开关的"管家"。

1
2
with open("file.txt") as f:  # with 自动帮你关闭文件
content = f.read()

术语 15:列表推导式(List Comprehension)

大白话:一行代码造一个列表。

1
squares = [x**2 for x in range(10)]  # 比写循环简洁

术语 16:Lambda 函数

大白话:一句话的迷你函数。

1
add = lambda x, y: x + y

术语 17:高阶函数(Higher-Order Function)

大白话:接受函数作为参数、或者返回函数的函数。

1
map(lambda x: x**2, [1, 2, 3])  # map 接受函数

术语 18:闭包(Closure)

大白话:函数"记住"了外面的变量。

1
2
3
4
def outer():
x = 10
def inner():
return x # inner 记住了 outer 的 x

术语 19:递归(Recursion)

大白话:函数调用自己。

1
2
3
def fact(n):
if n == 1: return 1
return n * fact(n - 1) # 自己调用自己

术语 20:协程(Coroutine)

大白话:可以暂停的函数。

1
2
async def fetch():  # async 定义协程
await asyncio.sleep(1)

3️⃣ 高级概念(10 个)

术语 21:元类(Metaclass)

大白话:创建类的"类"——比较深,平时用不到。

术语 22:描述符(Descriptor)

大白话:控制属性访问的"中间人"——比较深。

术语 23:抽象基类(ABC, Abstract Base Class)

大白话:给类定"规矩"的类——子类必须实现某些方法。

术语 24:Mixin

大白话:给类"加技能"的小类。

1
2
3
class JSONMixin:  # 混合类
def to_json(self):
return json.dumps(self.__dict__)

术语 25:鸭子类型(Duck Typing)

大白话:"会叫的就是鸭子"——不管什么类型,有这个方法就行。

术语 26:EAFP vs LBYL

  • EAFP(Easier to Ask Forgiveness than Permission):先做,出错再说
  • LBYL(Look Before You Leap):先检查,再做

Python 推崇 EAFP。

术语 27:GIL(Global Interpreter Lock)

大白话:Python 一次只能跑一个线程的"锁"——多线程的瓶颈。

术语 28:JIT 编译器

大白话:运行时把 Python 编译成机器码,让代码跑得更快。

术语 29:Monkey Patching

大白话:运行时偷偷改类的行为——慎用!

术语 30:魔术方法(Magic Method)

大白话:以双下划线开头和结尾的特殊方法(__init__、__str__ 等)。


三、术语速查表

这张表收藏好,写代码遇到术语就来查:

术语一句话解释
变量装数据的盒子
数据类型数据的种类
函数复用的代码块
模块.py 文件
包多个模块的文件夹
类对象的图纸
对象类创建出来的实例
方法类里的函数
属性类里的变量
迭代器一个一个拿数据
生成器懒人函数
装饰器给函数加功能
上下文管理器自动开关的管家
列表推导式一行造列表
Lambda迷你函数
高阶函数接受/返回函数的函数
闭包记住外层变量的函数
递归自己调用自己
协程可暂停的函数
元类类的类
描述符控制属性访问
ABC给类定规矩
Mixin加技能的小类
鸭子类型会叫就是鸭子
EAFP先做再说
LBYL先检查再做
GIL全局锁
JIT即时编译器
Monkey Patching运行时改类
魔术方法双下划线方法

四、3 类人对应不同术语

新手(先掌握这 10 个)

  1. 变量
  2. 数据类型
  3. 函数
  4. 模块
  5. 类
  6. 对象
  7. 方法
  8. 列表推导式
  9. 装饰器
  10. 上下文管理器

这 10 个是日常必用。

中级(再加 10 个)

  1. 迭代器
  2. 生成器
  3. Lambda
  4. 高阶函数
  5. 闭包
  6. 递归
  7. 协程
  8. 异常处理
  9. 文件 IO
  10. 正则表达式

这 10 个让你写出"Pythonic"代码。

高级(剩下的 10 个)

  1. 元类
  2. 描述符
  3. ABC
  4. Mixin
  5. 鸭子类型
  6. EAFP/LBYL
  7. GIL
  8. JIT
  9. Monkey Patching
  10. 魔术方法

这 10 个让你理解 Python 内部机制。


五、学习顺序建议

不要一次全学,按这个顺序:

1
2
3
4
5
6
第 1 周:基础 10 个术语
第 2 周:基础 10 个 + 写小项目
第 3-4 周:中级 10 个术语
第 5-8 周:中级 10 个 + 写中型项目
第 3 个月:高级 10 个术语
第 4-6 个月:高级 10 个 + 写大型项目

一年后,你就是 Python 专家了。


六、最后的最后

Python 术语这事,3 句话总结:

  1. 核心 30 个:掌握这 30 个,90% 的术语都认识
  2. 分阶段学:新手→中级→高级,3 阶段 6 个月
  3. 多写代码:术语在用中学,看 10 遍不如写 1 遍

看到不懂的术语,回来查这张表。

你 Python 水平的提升,就是从"懂术语"开始的。


相关阅读


科技不高冷,AI很好用。
我是晚枫(Wayne Liu),关注我,带你一起玩AI!

🎓 AI 编程实战课程

程序员晚枫专注AI编程培训,通过 《50讲 · AI编程训练营》,让小白也能用AI做出实际项目。帮你从零上手!