Python中的标识符与保留字

176 阅读4分钟

一、前言

在学习 Python 编程语言的过程中,标识符(Identifier)保留字(Keywords) 是两个非常基础但又极其重要的概念。它们是编写程序时必须遵守的语言规则之一。

本文将带你深入了解:

  • 什么是标识符;
  • 标识符的命名规则与规范;
  • Python 中有哪些保留字;
  • 常见错误与注意事项;
  • 实际开发中的命名建议;

掌握好这些内容,不仅能帮助你写出更规范、可读性更强的代码,还能避免因使用关键字作为变量名而导致的语法错误。

二、什么是标识符?

标识符 是程序员为变量、函数、类、模块等命名所使用的符号名称。

Python 中的标识符可以是一个字母、下划线或汉字(不推荐)开头,后跟任意数量的字母、数字、下划线组成。

✅ 合法标识符示例:

name
user_age
_total
my_function
MyClass

❌ 非法标识符示例及原因:

标识符错误原因
2nd_place以数字开头
class使用了保留字
first-name包含非法字符 -
hello world包含空格

三、标识符的命名规则(强制)

Python 对标识符有明确的语法规则,违反以下规则会导致编译错误:

  1. 只能包含字母(A-Z, a-z)、数字(0-9)、下划线 _
  2. 不能以数字开头
  3. 不能是 Python 的保留字
  4. 区分大小写:age 和 Age 是不同的标识符

四、标识符的命名规范(建议)

虽然不是强制要求,但遵循良好的命名规范有助于提高代码的可读性和团队协作效率。

✅ 命名风格推荐:

类型推荐风格示例
变量名、函数名小写字母 + 下划线user_nameget_data()
类名大驼峰(PascalCase)StudentDataProcessor
常量名全大写 + 下划线MAX_SIZEDEFAULT_TIMEOUT
私有属性/方法单下划线开头_internal_value_helper_method()

📌 注意:单下划线开头表示“受保护”的含义,双下划线开头表示“私有”(会被名称重整)。

五、什么是保留字(Keywords)?

保留字(Keywords) 是 Python 解释器预定义的一组具有特殊意义的单词,不能用作标识符。

它们构成了 Python 语言的基本语法结构,如控制流程、数据类型、函数定义等。

✅ 查看当前版本所有保留字的方法:

import keyword

print(keyword.kwlist)

输出结果(以 Python 3.12 为例):

[ 'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

📌 目前 Python 3.12 有 35 个保留字

六、常见保留字分类说明

分类关键字用途说明
控制结构ifelifelseforwhilebreakcontinue条件判断、循环控制
函数定义defreturnlambdayield定义函数、返回值、匿名函数、生成器
异常处理tryexceptfinallyraiseassert捕获异常、抛出异常、断言条件
类与对象classselfsuper定义类、实例方法、调用父类
导入模块importfromas导入外部模块或库
数据类型TrueFalseNone布尔值、空值
逻辑运算andornot布尔逻辑运算
特殊功能globalnonlocaldelpasswith变量作用域控制、删除对象、占位符、上下文管理

七、常见错误与解决方案

错误类型示例原因解决方案
使用保留字命名变量class = "Math"class 是保留字更换变量名为 course_class
使用非法字符my-var = 10- 不允许出现在标识符中改为 my_var
标识符以数字开头1st_place = True违反命名规则改为 first_place
忽略大小写差异Name vs name被视为不同变量保持命名一致性
使用中文命名姓名 = "张三"虽然合法但不推荐推荐使用英文命名

八、实际开发中的命名建议

场景建议
变量命名见名知意,如 user_counttotal_price
函数命名动词开头,如 calculate_tax()save_to_file()
类命名名词,如 UserInvoiceItem
常量命名全大写,如 MAX_RETRY = 3
模块命名简洁、小写,如 utils.pyconfig.py
包命名同模块,避免使用复数或缩写

九、总结对比表

类别数量是否能修改示例
标识符无限✅ 可自由定义(需符合规则)usernamecalculate_sum()
保留字35(Python 3.12)❌ 不可作为变量名ifforclass

十、结语

感谢您的阅读!如果你有任何疑问或想要分享的经验,请在评论区留言交流!