token — Константы, используемые с деревьями разбора Python¶
Исходный код: Lib/token.py.
Этот модуль предоставляет константы, которые представляют числовые значения листовых узлов дерева разбора (терминальных лексем). Определения имен в контексте грамматики языка см. в файле Grammar/Tokens в дистрибутиве Python. Конкретные числовые значения, которым соответствуют имена, могут меняться в разных версиях Python.
Модуль также предоставляет отображение числовых кодов на имена и некоторые функции. Функции отражают определения в заголовочных файлах Python C.
-
token.tok_name¶ Словарь, отображающий числовые значения констант, определенных в этом модуле, обратно в строки имен, что позволяет генерировать более человекочитаемые представления деревьев разбора.
-
token.ISTERMINAL(x)¶ Возвращает
Trueдля значений маркера терминала.
-
token.ISNONTERMINAL(x)¶ Возвращает
Trueдля нетерминальных значений лексем.
-
token.ISEOF(x)¶ Возвращает
True, если x является маркером, указывающим на конец ввода.
Жетонные константы являются:
-
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.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 Значение токена, указывающее на то, что комментарий типа был распознан. Такие токены создаются только в том случае, если
ast.parse()вызывается вместе сtype_comments=True.
Изменено в версии 3.7: Удалены маркеры AWAIT и ASYNC. «async» и «await» теперь обозначаются как маркеры NAME.
Изменено в версии 3.8: Добавлены TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL. Добавлены лексемы AWAIT и ASYNC (они необходимы для поддержки разбора старых версий Python для ast.parse() с feature_version, установленным на 6 или ниже).