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

来自菜鸟教程
Python/docs/3.7/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.OP
token.ERRORTOKEN
token.N_TOKENS
token.NT_OFFSET

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

token.COMMENT
用于指示评论的令牌值。
token.NL
用于指示非终止换行符的令牌值。 NEWLINE 标记表示 Python 代码逻辑行的结束; NL 令牌在逻辑代码行在多个物理行上连续时生成。
token.ENCODING
指示用于将源字节解码为文本的编码的标记值。 tokenize.tokenize() 返回的第一个令牌将始终是 ENCODING 令牌。

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


3.7 版更改: 添加 COMMENTNLENCODING 令牌。


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