二、标识符学习笔记
2026-02-19
Python基础
type
Post
status
Published
date
Feb 19, 2026
slug
python-identifiers-notes-2
summary
刚开始学 Python 时,我以为起名字就是随便起,能用就行。结果经常因为命名用了关键字导致报错。原来标识符的命名有这么多讲究——规则是必须遵守的,规范是建议遵守的。好的命名能让代码更易读,就像给人起好名字一样重要!
tags
Python数据的存储与运算
category
Python基础
icon
password
💡 学习感悟:刚开始学 Python 时,我以为起名字就是随便起,能用就行。结果经常因为命名用了关键字导致报错。原来标识符的命名有这么多讲究——规则是必须遵守的,规范是建议遵守的。好的命名能让代码更易读,就像给人起好名字一样重要!
1. 什么是标识符?
标识符(Identifier) 是程序中用于命名变量、函数、类、模块等元素的名称。
简单来说,标识符就是名字——给程序中的各种元素起的名字。
📝 我的理解:标识符就像是给变量、函数、类起名字。就像每个人都有自己的名字一样,程序中的每个元素也需要一个名字,这样我们才能找到它、使用它。
2. 标识符的命名规则(必须遵守)
标识符的命名有严格的规则,不遵守会导致程序报错。
2.1 规则清单
规则 | 说明 | 示例 |
只能包含字母、数字、下划线 | 不能包含空格、特殊符号 | ✅ name, age_1;❌ user-name, user name |
不能以数字开头 | 数字可以在中间或结尾 | ✅ name1, _name;❌ 1name, 2_age |
不能是 Python 关键字 | 关键字有特殊含义 | ✅ class_name;❌ class, if, for |
区分大小写 | Name 和 name 不同 | Name ≠ name ≠ NAME |
2.2 合法与非法标识符示例
⚠️ 踩坑记录:刚开始我总喜欢用1name、user-name这样的名字,结果一直报错。记住:不能用数字开头,不能用减号,不能用空格!
3. Python 关键字
Python 中有一些保留字(关键字),它们具有特殊含义,不能用作标识符。
3.1 常见关键字列表
类别 | 关键字 |
逻辑值 | True, False, None |
逻辑判断 | and, or, not, if, else, elif |
循环 | for, while, break, continue |
函数/类 | def, class, return, lambda, pass |
异常处理 | try, except, finally, raise |
其他 | import, from, as, in, is, global, nonlocal |
3.2 查看所有关键字
📝 我的理解:关键字就像是保留名字——Python 自己要用这些名字做特殊的事情,所以我们不能用。就像学校里有些房间是"教师办公室"、"校长室",这些名字是保留的,你不能给普通教室起这些名字。
⚠️ 踩坑记录:我曾经想用class作为变量名来存储班级信息,结果一直报错。后来才知道class是关键字,用来定义类的。可以用class_name或my_class代替。
4. 标识符的命名规范(建议遵守)
除了必须遵守的规则外,还有一些行业约定的命名规范,遵守这些规范可以让代码更易读、更专业。
4.1 命名规范总结
类型 | 规范 | 示例 |
变量名 | 小写字母 + 下划线(snake_case) | user_name, total_count |
函数名 | 小写字母 + 下划线(snake_case) | calculate_sum(), get_name() |
类名 | 驼峰命名法(CamelCase) | UserInfo, StudentManager |
常量 | 全大写 + 下划线 | MAX_SIZE, PI, DEFAULT_NAME |
私有变量/函数 | 以下划线开头 | _private_var, _helper() |
强私有变量/函数 | 以双下划线开头 | __very_private |
特殊方法 | 以双下划线开头和结尾 | __init__, __str__ |
4.2 命名规范示例
📝 我的理解:命名规范就像是穿衣打扮——不是强制要求,但遵守了显得更专业。变量用下划线连接(user_name),类名用大驼峰(UserInfo),常量全大写(MAX_SIZE),这样一看就知道是什么类型的东西。
5. 良好的命名习惯
5.1 ✅ 推荐的命名方式
5.2 ❌ 避免的命名方式
⚠️ 踩坑记录:我曾经用list作为变量名,结果后面想用list()函数转换数据时,发现list已经变成一个列表了,原来的函数被覆盖了!这是很难发现的 bug,要避免用内置函数名作为变量名。
6. 遇到的问题和解决
6.1 使用了关键字作为标识符
⚠️ 踩坑记录:如果不确定某个词是不是关键字,可以用keyword.iskeyword()查一下。或者干脆在可能的关键字后面加_name、_value等后缀。
6.2 标识符以数字开头
⚠️ 踩坑记录:想用1st、2nd表示第几名,但数字不能开头。可以用first、second或者把数字放后面place_1st。
6.3 标识符包含特殊字符
⚠️ 踩坑记录:其他语言可能允许$开头(如 PHP、JavaScript),但 Python 不行!只能用下划线_。
6.4 混淆大小写
📝 我的理解:Python 是区分大小写的,Name、name、NAME是三个完全不同的变量。建议统一使用小写加下划线,避免混淆。
7. 核心知识点整理
7.1 标识符命名规则(必须遵守)
规则 | 说明 |
只能包含字母、数字、下划线 | 不能有空格、特殊符号 |
不能以数字开头 | 数字可以在中间或结尾 |
不能是关键字 | 如 class, if, for 等 |
区分大小写 | Name 和 name 不同 |
7.2 标识符命名规范(建议遵守)
类型 | 规范 | 示例 |
变量/函数 | 小写 + 下划线 | user_name, get_info() |
类名 | 大驼峰 | UserInfo, StudentManager |
常量 | 全大写 | MAX_SIZE, PI |
私有 | 下划线开头 | _private_var |
7.3 常见关键字速查
常用关键字:
True, False, None, and, or, not, if, else, for, while, def, class, return, import, from7.4 需要注意
- 起有意义的名称,避免拼音和缩写
- 不要用内置函数名作为变量名(如
list,str,sum)
- 不确定是不是关键字时,用
keyword.iskeyword()检查
- 统一使用小写加下划线命名变量
如果英语不懂,可以借助AI在代码片段开头进行中文注释.
Loading...
