脚本专家 发表于 2026-9-1 15:00:04

Python 3.12常用35个关键字用途与典型场景详解

Python 的关键字是语言保留词,变量名、函数名、类名都不能占用它们。Python 3.12 一共 35 个关键字,但数量少不代表不重要,条件分支、循环、函数、异常处理、模块组织等基础语法全靠它们撑起来。本文按功能分类逐个拆解,并给出可运行代码示例。

先用标准库快速查看当前版本的全部关键字:

import keyword
print(keyword.kwlist)
print(len(keyword.kwlist))
print(keyword.iskeyword('if'))


在交互式环境中也可以执行 help('keywords') 查看官方说明。

一、条件控制

if 是最基本的分支关键字,elif 是 else if 的缩写,注意中间不能有空格。else 负责处理所有其他情况。match/case 是 Python 3.10 引入的模式匹配,比普通的 switch 更灵活,支持值匹配、组合匹配和数据结构匹配。


score = 85
if score >= 90:
    print('成绩优秀')
elif score >= 80:
    print('成绩良好')
else:
    print('继续加油')

status = 404
match status:
    case 200:
      print('成功')
    case 301 | 302:
      print('重定向')
    case _:
      print('未知状态')


match 还可以直接匹配字典结构,适合按 action 字段做命令分发。

二、循环与迭代

for/in 是遍历列表、字典和 range 的常用方式,in 还可以用于成员判断和列表推导式。while 在条件为真时持续执行。break 立即跳出整个循环,continue 跳过本次迭代的剩余部分,进入下一轮。


for i in range(1, 6):
    if i % 2 == 0:
      continue
    if i == 5:
      break
    print(i)

count = 0
while count < 3:
    print(count)
    count += 1


三、函数、lambda 与生成器

def 定义函数,return 返回结果。lambda 适合写单表达式匿名函数,常用于排序或过滤的 key 参数。yield 可以把普通函数变成生成器,每次迭代暂停并返回一个值,适合处理大数据流。


def add(a, b):
    return a + b

add_lambda = lambda a, b: a + b

def countdown(n):
    while n > 0:
      yield n
      n -= 1

for x in countdown(4):
    print(x)


四、类

class 用于定义类,配合 __init__ 方法完成实例初始化,实例方法第一个参数通常是 self。


class Dog:
    species = '犬科'
    def __init__(self, name):
      self.name = name
    def bark(self):
      return f'{self.name}: 汪汪'


五、异常处理

try/except/finally 负责捕获异常,无论是否出错 finally 都会执行。raise 可以主动抛出异常,assert 是开发期的条件断言,条件为假时抛出 AssertionError。


try:
    num = int(input('输入数字:'))
    r = 100 / num
except ValueError:
    print('需要数字')
except ZeroDivisionError:
    print('不能除零')
finally:
    print('结束')

def check_age(age):
    if age < 0:
      raise ValueError('年龄不能为负')

def avg(scores):
    assert len(scores) > 0, '列表不能为空'
    return sum(scores) / len(scores)


六、导入与作用域

import/from/as 控制模块导入方式,可以用别名解决命名冲突。global 在函数内部修改全局变量,nonlocal 在嵌套函数中修改外层函数的局部变量。


import math
from math import sqrt as square_root

global_count = 0

def outer():
    n = 0
    def inner():
      nonlocal n
      n += 1
      return n
    return inner


七、逻辑运算与特殊值

and/or/not 做布尔运算,and 和 or 会短路求值。is 比较对象身份,== 比较值是否相等。True、False、None 是 Python 3 中的三个常量关键字,也是单例对象。


a =
b =
print(a == b)
print(a is b)

value = None
if value is None:
    print('空值')


八、其他重要关键字

del 删除变量或容器元素;pass 是空语句占位;with 自动管理文件、连接等资源;async/await 用于异步协程编程。


nums =
del nums

def todo():
    pass

with open('data.txt', 'r', encoding='utf-8') as f:
    data = f.read()


异步示例:


import asyncio

async def fetch(url):
    await asyncio.sleep(1)
    return url

async def main():
    tasks =
    results = await asyncio.gather(*tasks)
    print(results)

asyncio.run(main())


最后按功能快速回顾这 35 个关键字:条件控制 if/elif/else/match/case;循环 for/in/while/break/continue;函数 def/return/lambda/yield;类 class;异常 try/except/finally/raise/assert;模块与作用域 import/from/as/global/nonlocal;逻辑与特殊值 and/or/not/is/True/False/None;其他 del/pass/with/async/await。

实际编码中,if、for、def、return、import、class、try/except 是使用频率最高的几个。需要特别注意:elif 不能写成 else if;is 用于判断 None;and/or 有短路特性;关键字不能当作标识符。随时可以用 import keyword; print(keyword.kwlist) 确认当前 Python 版本的关键字全集。

热心网友7 发表于 2026-9-1 19:00:00

Re: Python 3.12常用35个关键字用途与典型场景详解

感谢楼主整理!把 35 个关键字按功能分类讲解,配合简单示例,对初学者特别友好。尤其是 match/case 和 async/await 这种新特性也覆盖到了,很实用。建议可以再补充一下每个关键字的注意事项或常见坑,比如 is 和 == 的区别、nonlocal 的作用域细节,这样会更完善。收藏了,慢慢学习!

热心网友6 发表于 2026-9-1 19:05:00

Re: Python 3.12常用35个关键字用途与典型场景详解

楼主总结得很全面,正好最近在学Python,这些关键字的分类整理对我帮助很大。尤其是match/case和async/await这两个,平时用得少,看了示例清楚多了。谢谢分享!

热心网友3 发表于 2026-9-1 19:10:00

Re: Python 3.12常用35个关键字用途与典型场景详解

楼主整理得很全面,把 35 个关键字按场景分类讲得很清楚,尤其是 match/case 和 async/await 的示例,对新手来说很好理解。补充一点小建议:在讲到 `is` 和 `==` 的区别时,可以再强调一下 `is` 用于单例比较(比如 `None`),而 `==` 比较值,这点在实际调试中很容易踩坑。另外 `del` 那段提到删除变量和容器元素,顺便提一下它也能删除对象的属性,可能更完整。不过整体已经很棒了,收藏了!
页: [1]
查看完整版本: Python 3.12常用35个关键字用途与典型场景详解