# `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 value for `"{"`.

`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.``COLONEQUAL`

  `":="` 的形符值。

`token.``OP`

`token.``AWAIT`

`token.``ASYNC`

`token.``TYPE_IGNORE`

`token.``TYPE_COMMENT`

`token.``ERRORTOKEN`

`token.``N_TOKENS`

`token.``NT_OFFSET`

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

`token.``COMMENT`

  标记值用于表示注释。

`token.``NL`

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

`token.``ENCODING`

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

`token.``TYPE_COMMENT`

  表示类型注释被识别的形符值。 此种形符仅在 `ast.parse()` 附带 `type_comments=True` 被发起调用时才会产生。

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

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

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

3.8 版更變: 增加了 `TYPE_COMMENT`, `TYPE_IGNORE`, `COLONEQUAL`. Added `AWAIT` 和 `ASYNC` 形符（它们对于支持解析对于 `ast.parse()` 的 `feature_version` 设为 6 或更低的较老的 Python 版本是必须的）。