Python 的标识符就是我们写代码时用来给变量、函数、类等取名字的东西。
你写的 my_variable 是个标识符,
定义的 add_numbers 函数名也是个标识符,
甚至你写的 Cat 类名,也是标识符。
一句话总结:标识符就是代码里给“东西”起的名字
标识符的基本规则:别乱取名字
Python 对标识符的命名有一套硬性规则,否则就会报错。划重点⚡:
标识符只能由字母(a-z、A-Z)、数字(0-9)、下划线(_)组成。
比如:my_var、a123、_hidden 都是合法的标识符。但 @myvar、1abc 就不行,Python 会直接罢工。
标识符不能以数字开头
例如:123abc 是非法的,但 abc123 是合法的。
区分大小写 在 Python 中,myvar 和 MyVar 是完全不同的标识符(别问为什么,问就是“编程是个细活”)。
不能是 Python 的关键字!
比如 def、class、if 这些 Python 语言的保留字,不能拿来当标识符用。用了的话,Python 编译器会大喊一声:“哥,这名字我先用了!”
尽量别用下划线开头的名字,除非你知道它的含义。
_var 和 __var 在 Python 中有特定的用途,比如保护变量或表示私有变量,瞎用可能带来麻烦。
标识符的常见命名规范:别让别人看不懂你的代码!
虽然 Python 没强制命名规范,但Python 社区有一套通用的风格指南,比如:
变量名:全小写,单词之间用下划线分隔。
✅ my_variable
❌ myVariable(虽然不报错,但这更像 Java 的风格)
函数名:和变量名一样,用全小写 + 下划线。
✅ calculate_sum()
❌ CalculateSum()
类名:首字母大写,单词之间用驼峰命名法(PascalCase)。
✅ MyClass
❌ my_class
常量名:全大写,用下划线分隔单词。
✅ PI = 3.14
✅ MAX_CONNECTIONS = 10
划重点:
Python 的命名规范不是必须遵守,但写得越规范,代码越容易被别人理解。代码是给人看的,机器只是顺便运行的。
标识符的特殊用途:Python 的“潜规则”
除了普通变量名和函数名,Python 还有一些标识符的“潜规则”:
下划线开头的标识符(_var):保护变量
这是 Python 的约定俗成规则,表示这是一个“非公开”变量,最好别在模块外部直接访问。
_internal_var = 42 # 外部代码尽量别碰
双下划线开头的标识符(__var):类中的私有变量
双下划线用于类中的变量,表示这个变量是“私有”的,不希望外部直接访问。
class MyClass: def __init__(self): self.__private_var = 10
双下划线包裹的标识符(__var__):Python 的特殊方法或属性
比如 __init__ 是类的构造函数,__name__ 是模块的名字。这些标识符有特定用途,别拿来随便用。
标识符的反面教材:都写过的迷惑名字
看似合法的标识符,但非常不推荐。单个字母:a、b、c,一眼看去根本不知道变量是干啥的。完全随机的标识符:asdf1234,这名字让人崩溃。和保留字撞车: 比如用 class_ 替代 class,虽然不报错,但读起来像在耍人。取名字是门艺术,别让别人看到代码后想锤人。
代码是给人看的,标识符是程序员浪漫的语言。一份好代码,从一个好名字开始。