token — Python 解析树中使用的常量

源代码: Lib/token.py


此模块提供表示解析树(终端标记)的叶节点的数值的常量。有关语言语法上下文中名称的定义,请参阅 Python 发行版中的文件 Grammar/Tokens。名称映射到的特定数值可能会在 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.COLONEQUAL

用于 ":=" 的令牌值。

token.EXCLAMATION

用于 "!" 的令牌值。

token.OP
token.TYPE_IGNORE
token.TYPE_COMMENT
token.SOFT_KEYWORD
token.FSTRING_START
token.FSTRING_MIDDLE
token.FSTRING_END
token.COMMENT
token.NL
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

指示已识别类型注释的令牌值。只有当使用 type_comments=True 调用 ast.parse() 时才会生成此类令牌。

token.EXACT_TOKEN_TYPES

一个字典,将令牌的字符串表示形式映射到其数字代码。

在版本 3.8 中添加。

在版本 3.5 中更改:添加了 AWAITASYNC 令牌。

在版本 3.7 中更改:添加了 COMMENTNLENCODING 令牌。

在版本 3.7 中更改:移除了 AWAITASYNC 令牌。“async” 和 “await” 现在被标记为 NAME 令牌。

在版本 3.8 中更改:添加了 TYPE_COMMENTTYPE_IGNORECOLONEQUAL。重新添加了 AWAITASYNC 令牌(需要它们来支持为 ast.parse() 解析旧版本的 Python,其中 feature_version 设置为 6 或更低)。

在版本 3.13 中更改:再次移除了 AWAITASYNC 令牌。