Python标识符详解

在 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。
  • 特殊方法 / 属性 :以双下划线开头和结尾,如 initlen,应避免自定义此类名称。

3. 有效与无效标识符示例

有效标识符 无效标识符(原因)
my_var 2var(以数字开头)
_private my-var(包含连字符)
数据 if(是关键字)
PI $money(包含特殊符号)
相关推荐
iAm_Ike3 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt3 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
chao1898444 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
赏金术士4 小时前
Kotlin 习题集 · 高级篇
android·开发语言·kotlin
旦莫4 小时前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试
楼兰公子5 小时前
buildroot 在编译rust时裁剪平台类型数量的方法
开发语言·后端·rust
知识领航员5 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
吴声子夜歌6 小时前
Go——并发编程
开发语言·后端·golang
ooseabiscuit6 小时前
Laravel4.x:现代PHP框架的奠基之作
java·开发语言·php
c1s2d3n4cs7 小时前
Qt模仿nlohmann::json进行序列化和反序列化
开发语言·qt·json