已经把 Python 3.12 的保留字名单整理好了,33(或按清单标注的更多)个保留字,每个都配了读音、解释和用法示例,能直接拿来当速查表用。
这份清单一发出来,程序员和自学者都能快速对照。有人把它当成入门笔记,有人把它贴在编辑器旁边。对新手最大的好处是:看到关键词能立刻判断它是做什么的,不用再反复查文档。顺便说一句,学习这些词的时候,记住它们的“角色”比背字面更管用——知道哪个负责流程控制,哪个是作用域声明,写代码时少踩坑。我也觉得,读音对沟通挺有协助,特别是跟老外讨论代码时,报一遍读音能省不少口误。
先从一些执行流程、异步相关的关键词讲起,再逐渐回到更基础的运算和判断。说明会从比较宽泛的功能说起,接着逐条讲具体用法和代码示例,细节会尽量写清楚。
async / await
– async(拼音:ēi-sīngk;英文音:ˈeɪsɪŋk):标记一个函数是异步的。
示例:async def fetch(): await get_remote()
说明:就是声明这是个协程函数,调用时需要在事件循环里运行。别把 async 当成普通函数。个人感受:异步能提速,但调试时头疼。
– await(拼音:ə-wèi-t;英文音:əˈweɪt):在协程里等待另一个协程完成。
示例:data = await fetch_data()
说明:只能在 async 函数里用,用来暂停当前协程直到异步操作结束。
yield / with
– yield(拼音:yī-èld;英文音:jiːld):在生成器函数中产出一个值,然后函数状态保存,下一次继续。
示例:def gen(): yield x
说明:用来写懒加载、流式处理。看着简单,但用好能节约内存。
– with(拼音:wɪð;英文音:wɪð):上下文管理,保证资源自动释放。
示例:with open(path) as f: content = f.read()
说明:常用于打开文件、数据库连接等,能避免忘记 close 的问题。
del / assert / None / False / True
– del(拼音:dèl;英文音:dɛl):删除对象引用或容器中的元素。
示例:del items[0]; del obj.attr
说明:只是删除引用,内存回收由解释器决定。
– assert(拼音:ə-səːt;英文音:əˈsɜːt):断言,用作调试时的条件检查。
示例:assert len(data) > 0, “数据不能为空”
说明:可以在测试阶段捕捉异常条件,运行时可禁用断言。
– None(拼音:nán;英文音:nʌn):表明空值,和布尔值不同。
示例:result = None
说明:常用来表明“无值”或“尚未赋值”。
– False(拼音:fó-ruòs;英文音:fɔːls):布尔假值。
示例:flag = False
说明:布尔类型的标准假值。
– True(拼音:trū;英文音:truː):布尔真值。
示例:ok = True
说明:布尔类型的标准真值。
nonlocal / global / as / from / import
– nonlocal(拼音:nòn-lōu-kəl;英文音:ˌnɒnˈloʊkəl):在嵌套函数中引用外层局部变量。
示例:def outer(): x = 1; def inner(): nonlocal x; x += 1
说明:用来修改外层函数的变量,不是模块级的。
– global(拼音:glō-bəl;英文音:ˈɡloʊbəl):声明变量是模块级的全局变量。
示例:def f(): global cnt; cnt += 1
说明:改变模块全局状态时需要声明。
– as(拼音:æz;英文音:æz):给导入模块或上下文中的对象起别名。
示例:import numpy as np; with open(x) as fp:
说明:常见于模块别名和 with 的“绑定”。
– from(拼音:fròm;英文音:frɒm):从模块中导入特定对象。
示例:from os import path
说明:避免导入整个模块,按需取用。
– import(拼音:ǐm-pǒrt;英文音:ˈɪmpɔːt):导入模块。
示例:import math
说明:把模块加载到当前命名空间或通过别名访问。
raise / finally / except / try
– raise(拼音:rāiz;英文音:reɪz):主动抛出异常。
示例:raise ValueError(“参数错误”)
说明:遇到不合法情况主动抛出,交由上层处理。
– finally(拼音:fài-nə-lee;英文音:ˈfaɪnəli):无论 try 块是否抛错都会执行的代码块。
示例:try: … finally: clean()
说明:常用于释放资源。
– except(拼音:ɪk-sept;英文音:ɪkˈsept):捕获指定异常。
示例:try: … except ValueError as e: handle(e)
说明:把可能抛出的错误拿到手里处理。
– try(拼音:trài;英文音:traɪ):开始异常处理块。
示例:try: risky_operation()
说明:把可能出问题的代码包起来,以便捕获异常。
return / self / class / lambda / def
– return(拼音:rì-tɜːn;英文音:rɪˈtɜːn):函数返回值并结束执行。
示例:def f(): return result
说明:标志函数输出,遇到 return 就出函数。
– self(拼音:sēlf;英文音:sɛlf):类实例方法的第一个参数,代表实例本身。
示例:class A: def m(self): self.x = 1
说明:在实例方法里用来访问实例属性,用法固定但名字可以替换。
– class(拼音:klās;英文音:klɑːs):定义一个类,封装属性和方法。
示例:class Person: pass
说明:面向对象的基本单位。
– lambda(拼音:lām-də;英文音:ˈlæmdə):创建匿名函数,常用于短小的函数体。
示例:f = lambda x: x * 2
说明:适合一行的小函数,不适合复杂逻辑。
– def(拼音:def;英文音:def):定义函数。
示例:def add(a, b): return a + b
说明:标准的函数定义方式。
continue / break / while / for / else / elif / if / is / in / not / or / and
接下来这组词大多负责控制流程与条件判断,从循环到比较再到逻辑组合,写代码时天天打交道。
– continue(拼音:kən-tín-yuù;英文音:kənˈtɪnjuː):跳过本次循环剩余部分,进入下一次循环。
示例:for n in seq: if n == 0: continue
说明:常用于过滤某些情况。
– break(拼音:brāik;英文音:breɪk):结束当前循环。
示例:while True: if done: break
说明:直接跳出循环体,不再迭代。
– while(拼音:wài-l;英文音:ˈwail):基于条件重复执行代码块。
示例:while count < 5: count += 1
说明:适合不知道迭代次数但有终止条件的场景。
– for(拼音:fɔːr;英文音:fɔːr):遍历序列或可迭代对象。
示例:for item in items: process(item)
说明:写循环最常见的方式。
– else(拼音:ɛls;英文音:ɛls):和 if、for、while 配合,用作默认分支或循环未被 break 时的分支。
示例:for x in seq: if cond(x): break else: handle_no_break()
说明:和循环后的 else 用法有点反直觉,值得注意。
– elif(拼音:el-if;英文音:ɛlˈif):在多分支判断中作为中间分支(等于 else if)。
示例:if a > b: … elif a == b: …
说明:比多个 if 嵌套更清晰。
– if(拼音:ǐf;英文音:ɪf):条件判断入口。
示例:if x > 0: do()
说明:最基础的选择结构。
– is(拼音:ìz;英文音:ɪz):用于判断两个对象是否为同一对象(身份比较)。
示例:if a is b: …
说明:和 == 不同,前者比较对象地址,后者一般比较值。
– in(拼音:ìn;英文音:ɪn):检查元素是否在序列或集合里。
示例:if 3 in arr: …
说明:常用于包含关系的判断。
– not(拼音:nòt;英文音:nɒt):逻辑取反。
示例:if not valid: handle()
说明:和其他逻辑组合使用频繁。
– or(拼音:ōr;英文音:ɔːr):逻辑或,只要任一为真则为真。
示例:if a == 5 or b == 3: …
说明:短路评价。
– and(拼音:ænd;英文音:ænd):逻辑与,全部为真才为真。
示例:if x > 0 and y < 10: …
说明:日常判断里用得最多的一类。
import / from / as 的组合、以及作用域和控制流程这些词连在一起,构成了 Python 程序的骨架。每个关键词看似简单,但组合起来就能表达复杂逻辑。掌握它们,写起代码来就顺手了。
说回这张清单的来源。整理过程基于 Python 3.12 的关键字表,把每个词的发音、含义和典型用例配齐。为了方便阅读,给每条都加了一个简短说明,按功能分组,但叙述顺序是从需要思考的高层特性(异步、生成器、资源管理)往下到基础运算和逻辑判断,这样读者先看到对程序结构影响大的东西,再看组成代码的细枝末节。顺带提一句:读音不是必须掌握的核心,但在团队沟通时挺实用,尤其是缩短讨论时间。
以上就是这份清单的展示和说明。最后一个例子里,async/await 与协程库配合使用,会是并发处理的常规套路。

收藏了,感谢分享