名称规范

名称的字符包括大小写形式的字母 A 到 Z,下划线 _ ,以及数字 0 到 9,但数字不能为第一个字符。长度没有限制,但区分大小写。

关键字

以下名称为保留字,或称 关键字,不可用于普通名称。关键字的拼写必须与这里列出的完全一致:

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

部分名称仅在特定上下文中被保留。也称软关键字。matchcasetype 和 _ 等标识符在特定上下文中具有关键字的语义,但这种区分是在解析器层级完成的,而不是在分词的时候。不建议使用。

特殊名称类

某些名称类具有特殊含义。这些类的命名模式以下划线字符开头,并以下划线结尾:

_*

不会被 from module import * 所导入。

_

在 match 语句内部的 case 模式中,_ 是一个 软关键字,它表示 通配符。

在此之外,交互式解释器会将最后一次求值的结果放到变量 _ 中。 (它与 print 等内置函数一起被存储于 builtins 模块。)

在其他地方,_ 是一个常规标识符。 它常常被用来命名 "特殊" 条目,但对 Python 本身来说毫无特殊之处

__*__

系统定义的名称,通常简称为 "dunder" 。这些名称由解释器及其实现(包括标准库)定义。现有系统定义名称相关的论述详见 特殊方法名称 等章节。Python 未来版本中还将定义更多此类名称。任何情况下,任何 不显式遵从 __*__ 名称的文档用法,都可能导致无警告提示的错误。

__*

类的私有名称。类定义时,此类名称以一种混合形式重写,以避免基类及派生类的 "私有" 属性之间产生名称冲突。