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

源码:Lib/token.py


此模块提供表示解析树(终端令牌)的叶节点的数值的常量。 请参阅 Python 发行版中的文件 Grammar/Grammar ,以获取语言语法上下文中名称的定义。 名称映射到的特定数值可能会在 Python 版本之间更改。

该模块还提供从数字代码到名称和一些函数的映射。 这些函数镜像了 Python C 头文件中的定义。

  • token.tok_name
  • 将此模块中定义的常量的数值映射回名称字符串的字典,允许生成更加人类可读的解析树表示。

  • token.ISTERMINAL(x)

  • Return True for terminal token values.

  • token.ISNONTERMINAL(x)

  • Return True for non-terminal token values.

  • token.ISEOF(x)

  • Return True if x is the marker indicating the end of input.

标记常量是:

  • token.ENDMARKER
  • token.NAME
  • token.NUMBER
  • token.STRING
  • token.NEWLINE
  • token.INDENT
  • token.DEDENT
  • token.LPAR
  • Token value for "(".

  • token.RPAR

  • Token value for ")".

  • token.LSQB

  • Token value for "[".

  • token.RSQB

  • Token value for "]".

  • token.COLON

  • Token value for ":".

  • token.COMMA

  • Token value for ",".

  • token.SEMI

  • Token value for ";".

  • token.PLUS

  • Token value for "+".

  • token.MINUS

  • Token value for "-".

  • token.STAR

  • Token value for "*".

  • token.SLASH

  • Token value for "/".

  • token.VBAR

  • Token value for "|".

  • token.AMPER

  • Token value for "&".

  • token.LESS

  • Token value for "<".

  • token.GREATER

  • Token value for ">".

  • token.EQUAL

  • Token value for "=".

  • token.DOT

  • Token value for ".".

  • token.PERCENT

  • Token value for "%".

  • token.LBRACE

  • Token value for "{".

  • token.RBRACE

  • Token value for "}".

  • token.EQEQUAL

  • Token value for "==".

  • token.NOTEQUAL

  • Token value for "!=".

  • token.LESSEQUAL

  • Token value for "<=".

  • token.GREATEREQUAL

  • Token value for ">=".

  • token.TILDE

  • Token value for "~".

  • token.CIRCUMFLEX

  • Token value for "^".

  • token.LEFTSHIFT

  • Token value for "<<".

  • token.RIGHTSHIFT

  • Token value for ">>".

  • token.DOUBLESTAR

  • Token value for "**".

  • token.PLUSEQUAL

  • Token value for "+=".

  • token.MINEQUAL

  • Token value for "-=".

  • token.STAREQUAL

  • Token value for "*=".

  • token.SLASHEQUAL

  • Token value for "/=".

  • token.PERCENTEQUAL

  • Token value for "%=".

  • token.AMPEREQUAL

  • Token value for "&=".

  • token.VBAREQUAL

  • Token value for "|=".

  • token.CIRCUMFLEXEQUAL

  • Token value for "^=".

  • token.LEFTSHIFTEQUAL

  • Token value for "<<=".

  • token.RIGHTSHIFTEQUAL

  • Token value for ">>=".

  • token.DOUBLESTAREQUAL

  • Token value for "**=".

  • token.DOUBLESLASH

  • Token value for "//".

  • token.DOUBLESLASHEQUAL

  • Token value for "//=".

  • token.AT

  • Token value for "@".

  • token.ATEQUAL

  • Token value for "@=".

  • token.RARROW

  • Token value for "->".

  • token.ELLIPSIS

  • Token value for "…".

  • token.COLONEQUAL

  • Token value for ":=".

  • 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

  • Token value indicating that a type comment was recognized. Suchtokens are only produced when ast.parse() is invoked withtype_comments=True.

在 3.5 版更改: 补充 AWAITASYNC 标记。

在 3.7 版更改: 补充 COMMENTNLENCODING 标记。

在 3.7 版更改: 移除 AWAITASYNC 标记。 "async" 和 "await" 现在被标记为 NAME 标记。

在 3.8 版更改: Added TYPE_COMMENT.Added AWAIT and ASYNC tokens back (they're neededto support parsing older Python versions for ast.parse() withfeature_version set to 6 or lower).