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__格式的名字

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

相关推荐
实名上网宋凯宣1 天前
Django
后端·python·django
如若1231 天前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
砚底藏山河1 天前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新1 天前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
薛定谔的猫-菜鸟程序员1 天前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
Ramble_Naylor1 天前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
yyyang881 天前
蓝牙系统整体架构详解
学习·信息与通信
Allen_LVyingbo1 天前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
云和数据.ChenGuang1 天前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
Linux-lucky1 天前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs