token
— Python 解析树中使用的常量¶
源代码: 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.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
指示已识别类型注释的令牌值。只有当使用
type_comments=True
调用ast.parse()
时才会生成此类令牌。
- token.EXACT_TOKEN_TYPES¶
一个字典,将令牌的字符串表示形式映射到其数字代码。
在版本 3.8 中添加。
在版本 3.5 中更改:添加了 AWAIT
和 ASYNC
令牌。
在版本 3.7 中更改:移除了 AWAIT
和 ASYNC
令牌。“async” 和 “await” 现在被标记为 NAME
令牌。
在版本 3.8 中更改:添加了 TYPE_COMMENT
、 TYPE_IGNORE
、 COLONEQUAL
。重新添加了 AWAIT
和 ASYNC
令牌(需要它们来支持为 ast.parse()
解析旧版本的 Python,其中 feature_version
设置为 6 或更低)。
在版本 3.13 中更改:再次移除了 AWAIT
和 ASYNC
令牌。