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
令牌。