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非法:123abcif 违反会直接报语法错误
模块名 短小、全小写,多单词用下划线分隔 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__格式的名字

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

相关推荐
sheji34162 小时前
【开题答辩全过程】以 基于Java的应急安全学习平台的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
studytosky2 小时前
深度学习理论与实战:反向传播、参数初始化与优化算法全解析
人工智能·python·深度学习·算法·分类·matplotlib
喵了meme2 小时前
Linux学习日记21:读写锁
linux·c语言·学习
好奇龙猫2 小时前
日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(29):第八科文法
学习
清水白石0082 小时前
《Python × 数据库:用 SQLAlchemy 解锁高效 ORM 编程的艺术》
开发语言·python·json
星依网络3 小时前
使用LabelImg工具标注数据(游戏辅助脚本开发)
python·游戏引擎·图形渲染·骨骼绑定
站大爷IP3 小时前
Appium实现Android应用数据爬取:从环境搭建到实战优化
python
崇山峻岭之间3 小时前
C++ Prime Plus 学习笔记041
c++·笔记·学习
万岳科技系统开发3 小时前
私域直播小程序源码的整体架构设计与实现思路
学习·小程序