Python学习第一天:保留字和标识符

Python学习第一天:保留字和标识符的技术文章大纲

保留字的概念与作用

解释保留字的定义及其在Python中的重要性

列出Python中所有保留字(如if, else, for, def等)

说明保留字不可用作变量名或标识符的原因

标识符的定义与命名规则

标识符的概念及其在变量、函数、类命名中的应用

合法标识符的规则(以字母或下划线开头,仅包含字母、数字、下划线)

常见命名约定(如小写字母、下划线分隔的snake_case)

保留字与标识符的区分

通过代码示例展示保留字与合法/非法标识符的对比

演示因使用保留字作为标识符导致的语法错误

实践建议与常见错误

推荐使用有意义的标识符命名(如user_name而非a)

避免与保留字冲突的技巧(如添加下划线class_)

调试因命名问题引发的错误的实用方法

总结与练习

强调保留字和标识符在代码可读性与功能性中的关键作用

提供简单的练习题(如判断给定名称是否为合法标识符)

推荐进一步学习的关键字和语法主题

在 Python 中,保留字(关键字) 是被语言本身预定义、具有特殊含义和用途的标识符,不能被用作变量名、函数名、类名等自定义标识符。保留字的数量会随 Python 版本略有调整,以下是核心且通用的保留字说明:

一、Python 3.x 核心保留字(按用途分类)

1. 控制流(条件 / 循环)
保留字 用途 示例
if 条件判断开始 if a > 0:
elif 条件分支(else if) elif a == 0:
else 条件分支默认情况 else:
for 遍历循环 for i in range(5):
while 条件循环 while a < 10:
break 终止当前循环 break
continue 跳过当前循环剩余部分 continue
match Python 3.10+ 模式匹配(类似 switch) match num:
case 模式匹配的分支 case 1: print("one")
2. 函数 / 类 / 模块
保留字 用途 示例
def 定义函数 def add(a, b): return a+b
class 定义类 class Person:
import 导入模块 / 对象 import os
from 从模块导入指定对象 from os import path
as 别名 import numpy as np
return 函数返回值 return result
yield 生成器函数返回值 yield i
lambda 匿名函数 f = lambda x: x*2
with 上下文管理器(自动释放资源) with open("file.txt") as f:
pass 空语句(占位) if a: pass
3. 变量 / 作用域
保留字 用途 示例
var Python 3.10+ 类型标注(变量注解) var x: int = 10
global 声明全局变量 global count
nonlocal 声明嵌套作用域变量 nonlocal count
del 删除对象引用 del a
4. 逻辑 / 身份判断
保留字 用途 示例
and 逻辑与 if a > 0 and b > 0:
or 逻辑或 if a > 0 or b > 0:
not 逻辑非 if not a:
is 判断对象身份(是否同一对象) if a is None:
is not 否定对象身份 if a is not None:
in 判断成员关系 if 5 in [1,2,3]:
not in 否定成员关系 if 5 not in [1,2,3]:
5. 异常处理
保留字 用途 示例
try 捕获异常开始 try:
except 捕获指定异常 except ValueError:
finally 无论是否异常都执行 finally: f.close()
raise 主动抛出异常 raise ValueError("错误")
assert 断言(调试用) assert a > 0, "a必须大于0"
6. 其他核心保留字
保留字 用途 示例
True 布尔真 flag = True
False 布尔假 flag = False
None 空值 res = None
async Python 3.5+ 异步函数 async def func():
await Python 3.5+ 等待异步结果 await func()
with 上下文管理(如文件操作) with open("file.txt") as f:

二、查看当前 Python 版本的保留字

可以通过 keyword 模块直接查看,代码如下:

复制代码
import keyword
# 打印所有保留字
print(keyword.kwlist)
# 检查某个字符串是否是保留字
print(keyword.iskeyword("if"))  # True
print(keyword.iskeyword("hello"))  # False

如图:

标识符:

我学习的课程中有一下三张总结

我将这三张图进行总结做出下面的表格,便于理解:

分类 具体规则 / 规范 示例 注意事项
命名规则(必须遵守) 1. 可包含:英文、中文、下划线_、数字;首字符不能是数字2. 不能用 Python 保留字3. 严格区分大小写4. 允许中文,但不建议用 合法:name、_age非法:123abc、if 违反会直接报语法错误
模块名 短小、全小写,多单词用下划线分隔 game_main -
包名 短小、全小写,不推荐用下划线(建议用点分隔) 推荐:com.ysjpython不推荐:com_ysjpython -
类名 1. 类名:单词首字母大写(Pascal 风格)2. 模块内部类:_+Pascal 风格 类名:MyClass内部类:_InnerMyClass -
函数 / 类属性 / 方法 全小写,多单词用下划线分隔 get_user_info()、student_name -
常量 全大写,多单词用下划线分隔 MAX_NUM -
特殊下划线标识符 1. 单下划线开头(_var):受保护,from xxx import *不导入2. 双下划线开头(__var):类私有3. 双下划线首尾(__var__):Python 专用标识 _protected_var``__private_var``__init__() 避免自定义__var__格式的名字

下一篇将会给大家讲解布尔类型和类型转换函数,希望大家支持

相关推荐
优化Henry几秒前
LTE基站传输割接后S1连接失败排查实录
运维·网络·笔记·学习·信息与通信
坊钰11 分钟前
【LangGraph框架入门级】4. 支持联网搜索的智能代理系统
python·ai编程·langgraph
运维@小兵24 分钟前
安装Pycharm并破解
ide·python·pycharm
冬、不眠的夜30 分钟前
Nuitka 将 python 程序编译成 exe 指南
开发语言·python
范中勤1 小时前
Python Asyncio 协程与 LLM 异步并发原理技术文档(与 Java 对比|彻底澄清所有误区)
python·llm·协程·并发编程·asyncio
Dmz丶1 小时前
前端转 AI 100 天 Day 21:FastAPI 入门——从命令行到 HTTP 服务
python
QQ14220784491 小时前
基于 Flask 的「自动任务控制台」设计与踩坑实录
后端·python·flask
星恒随风1 小时前
Linux进程间通信(一):从匿名管道、命名管道到进程池,深入理解Pipe、FIFO与文件描述符
linux·运维·笔记·学习·状态模式
吴佳浩 Alben1 小时前
一文讲透推理引擎性能指标:TTFT、TPOT、KV命中率、并发,到底对应 vLLM / SGLang 的哪个参数?
人工智能·python·语言模型·架构·ai编程·vllm·sglang
用户298698530141 小时前
Python 实现 Word 转 XPS、PostScript 与 OFD 格式
后端·python·api