# `token` --- 与Python解析树一起使用的常量

源码： Lib/token.py

此模块提供表示解析树（终端令牌）的叶节点的数值的常量。 请参阅 Python 发行版中的文件 `Grammar/Grammar` ，以获取语言语法上下文中名称的定义。 名称映射到的特定数值可能会在 Python 版本之间更改。

该模块还提供从数字代码到名称和一些函数的映射。 这些函数镜像了 Python C 头文件中的定义。

`token.``tok_name`

  将此模块中定义的常量的数值映射回名称字符串的字典，允许生成更加人类可读的解析树表示。

`token.``ISTERMINAL`(x)

  对终端标记值返回 `True`。

`token.``ISNONTERMINAL`(x)

  对非终端标记值返回 `True`。

`token.``ISEOF`(x)

  如果 x 是表示输入结束的标记则返回 `True`。

标记常量是：

`token.``ENDMARKER`
`token.``NAME`
`token.``NUMBER`
`token.``STRING`
`token.``NEWLINE`
`token.``INDENT`
`token.``DEDENT`
`token.``LPAR`
`token.``RPAR`
`token.``LSQB`
`token.``RSQB`
`token.``COLON`
`token.``COMMA`
`token.``SEMI`
`token.``PLUS`
`token.``MINUS`
`token.``STAR`
`token.``SLASH`
`token.``VBAR`
`token.``AMPER`
`token.``LESS`
`token.``GREATER`
`token.``EQUAL`
`token.``DOT`
`token.``PERCENT`
`token.``LBRACE`
`token.``RBRACE`
`token.``EQEQUAL`
`token.``NOTEQUAL`
`token.``LESSEQUAL`
`token.``GREATEREQUAL`
`token.``TILDE`
`token.``CIRCUMFLEX`
`token.``LEFTSHIFT`
`token.``RIGHTSHIFT`
`token.``DOUBLESTAR`
`token.``PLUSEQUAL`
`token.``MINEQUAL`
`token.``STAREQUAL`
`token.``SLASHEQUAL`
`token.``PERCENTEQUAL`
`token.``AMPEREQUAL`
`token.``VBAREQUAL`
`token.``CIRCUMFLEXEQUAL`
`token.``LEFTSHIFTEQUAL`
`token.``RIGHTSHIFTEQUAL`
`token.``DOUBLESTAREQUAL`
`token.``DOUBLESLASH`
`token.``DOUBLESLASHEQUAL`
`token.``AT`
`token.``ATEQUAL`
`token.``RARROW`
`token.``ELLIPSIS`
`token.``OP`
`token.``ERRORTOKEN`
`token.``N_TOKENS`
`token.``NT_OFFSET`

C 标记生成器不使用以下标记类型值，但 `tokenize` 模块需要这些标记类型值。

`token.``COMMENT`

  标记值用于表示注释。

`token.``NL`

  标记值用于表示非终止换行符。 `NEWLINE` 标记表示 Python 代码逻辑行的结束；当在多条物理线路上继续执行逻辑代码行时，会生成 `NL` 标记。

`token.``ENCODING`

  指示用于将源字节解码为文本的编码的标记值。 `tokenize.tokenize()` 返回的第一个标记将始终是一个 `ENCODING` 标记。

在 3.5 版更改: 补充 `AWAIT` 和 `ASYNC` 标记。

在 3.7 版更改: 补充 `COMMENT` 、 `NL` 和 `ENCODING` 标记。

在 3.7 版更改: 移除 `AWAIT` 和 `ASYNC` 标记。 "async" 和 "await" 现在被标记为 `NAME` 标记。