token
—- 与Python解析树一起使用的常量
token
—- 与Python解析树一起使用的常量
源码: Lib/token.py
This module provides constants which represent the numeric values of leaf nodes of the parse tree (terminal tokens). Refer to the file Grammar/Tokens
in the Python distribution for the definitions of the names in the context of the language grammar. The specific numeric values which the names map to may change between Python versions.
该模块还提供从数字代码到名称和一些函数的映射。 这些函数镜像了 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 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.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
Token value indicating that a type comment was recognized. Such tokens are only produced when ast.parse()
is invoked with type_comments=True
.
在 3.5 版更改: 补充 AWAIT
和 ASYNC
标记。
在 3.7 版更改: 补充 COMMENT
、 NL
和 ENCODING
标记。
在 3.7 版更改: 移除 AWAIT
和 ASYNC
标记。 “async” 和 “await” 现在被标记为 NAME
标记。
在 3.8 版更改: Added TYPE_COMMENT
, TYPE_IGNORE
, COLONEQUAL
. Added AWAIT
and ASYNC
tokens back (they’re needed to support parsing older Python versions for ast.parse()
with feature_version
set to 6 or lower).