大家好,我是程序员晚枫。

学 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 个)

  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很好用。
我是晚枫,关注我,带你一起玩AI!

🎓 AI 编程实战课程

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