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 value for "<<=".

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.SOFT_KEYWORD
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 版更改: 补充 AWAITASYNC 形符。

在 3.7 版更改: 补充 COMMENTNLENCODING 形符。

在 3.7 版更改: 移除 AWAITASYNC 形符。 “async” 和 “await” 现在被形符为 NAME 形符。

在 3.8 版更改: 添加了 TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL。添加了 AWAITASYNC 形符(它们需要支持对 ast.parse() 的旧 Python 版本进行解析,feature_version 设置为 6 或更低)。