token — 与 Python 解析树一起使用的常量 — Python 文档

来自菜鸟教程
Python/docs/3.9/library/token
跳转至:导航、​搜索

token — 与 Python 解析树一起使用的常量

源代码: :source:`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.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
表示类型注释已被识别的标记值。 此类标记仅在使用 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 或更低)。