在 Python 中,标识符(identifier)是用来命名变量、函数、类、模块等对象的名称。标识符遵循一定的语法规则和编码规范。
1. 语法规则
- 字符范围 :必须以字母(a-z, A-Z)或下划线 _ 开头,后面可以跟字母、数字或下划线。
- Python 3 支持 Unicode 标识符,即可以使用非英文字母(如中文、希腊字母等),但通常不推荐,以免降低可读性。
- 大小写敏感 :myVar、myvar、MyVar 是不同的标识符。
- 不能是关键字 :不能使用 Python 保留字(如 if、for、class 等)。可以用 keyword.kwlist 查看所有关键字。
- 长度不限 :理论上无长度限制,但应保持合理长度。
2. 命名规范(PEP 8)
虽然语法允许很多形式,但遵循规范能让代码更易读:
- 变量、函数、方法、模块名 :使用蛇形命名法(snake_case),全部小写,单词间用下划线分隔,例如:user_name、calculate_average()。
- 类名 :使用驼峰命名法(CapWords,又称 PascalCase),每个单词首字母大写,例如:StudentInfo、DataProcessor。
- 常量 :全部大写,单词间用下划线分隔,例如:MAX_SIZE、PI。
- 私有成员 :以单下划线开头,表示"受保护的"或"内部使用",例如:_internal_method。
- 名称重整 :以双下划线开头且不以双下划线结尾,会触发名称重整(name mangling),例如:__private_var。
- 特殊方法 / 属性 :以双下划线开头和结尾,如 init、len,应避免自定义此类名称。
3. 有效与无效标识符示例
| 有效标识符 | 无效标识符(原因) |
|---|---|
| my_var | 2var(以数字开头) |
| _private | my-var(包含连字符) |
| 数据 | if(是关键字) |
| PI | $money(包含特殊符号) |