python / 3.7.2rc1 / all / library-token.html

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

源代码: Lib/token.py


该模块提供了代表解析树的叶节点(终端令牌)的数值的常量。有关语言语法中名称的定义,请参见 Python 发行版中的文件Grammar/Grammar。名称 Map 到的特定数字值可能会在 Python 版本之间更改。

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

  • token. tok_name

    • 字典将在此模块中定义的常数的数值 Map 回名称字符串,从而可以生成更易于理解的解析树表示形式。
  • token. ISTERMINAL(* x *)

    • 返回True作为终端令牌值。
  • token. ISNONTERMINAL(* x *)

    • 返回True以获取非终端令牌值。
  • token. ISEOF(* x *)

    • 如果* x *是指示 Importing 结束的标记,则返回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

    • 用于指示 Comment 的令牌值。
  • token. NL

    • 用于指示非终止换行符的令牌值。 NEWLINE令牌表示 Python 代码逻辑行的结尾;当逻辑代码行在多条物理行上连续时,会生成NL个令牌。
  • token. ENCODING

    • 令牌值,指示用于将源字节解码为文本的编码。 tokenize.tokenize()返回的第一个令牌将始终是ENCODING令牌。
  • token. TYPE_COMMENT

    • 表示已识别类型 Comments 的令牌值。仅在passtype_comments=True调用ast.parse()时才生成此类令牌。

在版本 3.5 中进行了更改:添加了AWAITASYNC令牌。

在 3.7 版中进行了更改:添加了COMMENTNLENCODING令牌。

在 3.7 版中进行了更改:删除了AWAITASYNC令牌。现在,“ async”和“ await”被标记为NAME标记。

在 3.8 版中进行了更改:添加了TYPE_COMMENTTYPE_IGNORECOLONEQUAL。向后添加了AWAITASYNC令牌(需要支持将feature_version设置为 6 或更低版本的ast.parse()解析较旧的 Python 版本)。