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.AWAIT
token.ASYNC
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() 时,才生成此类标记化。

3.5 版中已更改: 添加 AWAITASYNC 标记化。

3.7 版中已更改: 添加 COMMENTNLENCODING 标记化。

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

在 3.8 版本中更改: 已添加 TYPE_COMMENTTYPE_IGNORECOLONEQUAL。已添加 AWAITASYNC 标记(它们是支持解析较旧 Python 版本以供 ast.parse() 使用,其中 feature_version 设置为 6 或更低)。