token
—- 用于 Python 解析树的常量
源码: Lib/token.py [https://github.com/python/cpython/tree/3.13/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 value for
"{"
.
- 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.EXCLAMATION
"!"
的形符值。
- token.OP
- token.TYPE_IGNORE
- token.TYPE_COMMENT
- token.SOFT_KEYWORD
- token.FSTRING_START
- token.FSTRING_MIDDLE
- token.FSTRING_END
- token.COMMENT
- token.NL
- 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
被唤起时才会产生。
- token.EXACT_TOKEN_TYPES
- 将形符字符串表示形式映射到其数字代码的字典。
Added in version 3.8.
在 3.5 版本发生变更: 增加了 AWAIT
和 ASYNC
形符。
在 3.7 版本发生变更: 形符 COMMENT
、 NL
和 ENCODING
形符。
在 3.7 版本发生变更: 移除了 AWAIT
和 ASYNC
形符。 "async" 和 "await" 被形符化为 NAME
形符。
在 3.8 版本发生变更: 增加了 TYPE_COMMENT
, TYPE_IGNORE
, COLONEQUAL
。 重新增加了 AWAIT
和 ASYNC
形符(需要用它们来支持解析 ast.parse()
的 feature_version
设为 6 或更低的较旧 Python 版本)。
在 3.13 版本发生变更: 重新移除了 AWAIT
和 ASYNC
形符。