Документация Python неофициальный перевод

token.md

280 строк · 9.0 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.11/library/token.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# [`token`](https://python-all.ru/3.11/library/token.html#module-token) – Константы для работы с деревьями разбора Python89**Исходный код:** [Lib/token.py](https://python-all.ru/src/3.11/Lib/token.py)1011---1213Этот модуль предоставляет константы, представляющие числовые значения листовых узлов\\nдерева разбора (терминальных токенов). Файл `Grammar/Tokens`\\nв дистрибутиве Python содержит определения имён в контексте грамматики языка.\\nКонкретные числовые значения, на которые ссылаются имена, могут изменяться между версиями Python.1415Модуль также предоставляет отображение числовых кодов на имена и несколько\\nфункций. Функции дублируют определения из C-заголовочных файлов Python.1617#### `token.tok_name`1819Словарь, отображающий числовые значения констант, определённых в этом модуле,\\nобратно в строки имён, что позволяет создавать более удобочитаемое представление деревьев разбора.2021#### `token.ISTERMINAL(x)`2223Возвращает `True` для значений терминальных токенов.2425#### `token.ISNONTERMINAL(x)`2627Возвращает `True` для значений нетерминальных токенов.2829#### `token.ISEOF(x)`3031Возвращает `True`, если *x* – это маркер конца входных данных.3233Константы токенов:3435#### `token.ENDMARKER`3637#### `token.NAME`3839#### `token.NUMBER`4041#### `token.STRING`4243#### `token.NEWLINE`4445#### `token.INDENT`4647#### `token.DEDENT`4849#### `token.LPAR`5051Значение токена для `"("`.5253#### `token.RPAR`5455Значение токена для `")"`.5657#### `token.LSQB`5859Значение токена для `"["`.6061#### `token.RSQB`6263Значение токена для `"]"`.6465#### `token.COLON`6667Значение токена для `":"`.6869#### `token.COMMA`7071Значение токена для `","`.7273#### `token.SEMI`7475Значение токена для `";"`.7677#### `token.PLUS`7879Значение токена для `"+"`.8081#### `token.MINUS`8283Значение токена для `"-"`.8485#### `token.STAR`8687Значение токена для `"*"`.8889#### `token.SLASH`9091Значение токена для `"/"`.9293#### `token.VBAR`9495Значение токена для `"|"`.9697#### `token.AMPER`9899Значение токена для `"&"`.100101#### `token.LESS`102103Значение токена для `"<"`.104105#### `token.GREATER`106107Значение токена для `">"`.108109#### `token.EQUAL`110111Значение токена для `"="`.112113#### `token.DOT`114115Значение токена для `"."`.116117#### `token.PERCENT`118119Значение токена для `"%"`.120121#### `token.LBRACE`122123Значение токена для `"{"`.124125#### `token.RBRACE`126127Значение токена для `"}"`.128129#### `token.EQEQUAL`130131Значение токена для `"=="`.132133#### `token.NOTEQUAL`134135Значение токена для `"!="`.136137#### `token.LESSEQUAL`138139Значение токена для `"<="`.140141#### `token.GREATEREQUAL`142143Значение токена для `">="`.144145#### `token.TILDE`146147Значение токена для `"~"`.148149#### `token.CIRCUMFLEX`150151Значение токена для `"^"`.152153#### `token.LEFTSHIFT`154155Значение токена для `"<<"`.156157#### `token.RIGHTSHIFT`158159Значение токена для `">>"`.160161#### `token.DOUBLESTAR`162163Значение токена для `"**"`.164165#### `token.PLUSEQUAL`166167Значение токена для `"+="`.168169#### `token.MINEQUAL`170171Значение токена для `"-="`.172173#### `token.STAREQUAL`174175Значение токена для `"*="`.176177#### `token.SLASHEQUAL`178179Значение токена для `"/="`.180181#### `token.PERCENTEQUAL`182183Значение токена для `"%="`.184185#### `token.AMPEREQUAL`186187Значение токена для `"&="`.188189#### `token.VBAREQUAL`190191Значение токена для `"|="`.192193#### `token.CIRCUMFLEXEQUAL`194195Значение токена для `"^="`.196197#### `token.LEFTSHIFTEQUAL`198199Значение токена для `"<<="`.200201#### `token.RIGHTSHIFTEQUAL`202203Значение токена для `">>="`.204205#### `token.DOUBLESTAREQUAL`206207Значение токена для `"**="`.208209#### `token.DOUBLESLASH`210211Значение токена для `"//"`.212213#### `token.DOUBLESLASHEQUAL`214215Значение токена для `"//="`.216217#### `token.AT`218219Значение токена для `"@"`.220221#### `token.ATEQUAL`222223Значение токена для `"@="`.224225#### `token.RARROW`226227Значение токена для `"->"`.228229#### `token.ELLIPSIS`230231Значение токена для `"..."`.232233#### `token.COLONEQUAL`234235Значение токена для `":="`.236237#### `token.OP`238239#### `token.AWAIT`240241#### `token.ASYNC`242243#### `token.TYPE_IGNORE`244245#### `token.TYPE_COMMENT`246247#### `token.SOFT_KEYWORD`248249#### `token.ERRORTOKEN`250251#### `token.N_TOKENS`252253#### `token.NT_OFFSET`254255Следующие значения типов токенов не используются токенизатором C, но необходимы для модуля [`tokenize`](https://python-all.ru/3.11/library/tokenize.html#module-tokenize).256257#### `token.COMMENT`258259Значение токена, используемое для обозначения комментария.260261#### `token.NL`262263Значение токена, используемое для обозначения незавершающего перевода строки. Токен [`NEWLINE`](https://python-all.ru/3.11/library/token.html#token.NEWLINE) указывает на конец логической строки кода Python; токены `NL` генерируются, когда логическая строка кода продолжается на нескольких физических строках.264265#### `token.ENCODING`266267Токен, обозначающий кодировку, используемую для декодирования исходных байтов в текст. Первый токен, возвращаемый [`tokenize.tokenize()`](https://python-all.ru/3.11/library/tokenize.html#tokenize.tokenize), всегда будет токеном `ENCODING`.268269#### `token.TYPE_COMMENT`270271Значение токена, указывающее, что был распознан комментарий типа. Такие токены создаются только при вызове [`ast.parse()`](https://python-all.ru/3.11/library/ast.html#ast.parse) с `type_comments=True`.272273Изменено в версии 3.5: Добавлены токены [`AWAIT`](https://python-all.ru/3.11/library/token.html#token.AWAIT) и [`ASYNC`](https://python-all.ru/3.11/library/token.html#token.ASYNC).274275Изменено в версии 3.7: Добавлены токены [`COMMENT`](https://python-all.ru/3.11/library/token.html#token.COMMENT), [`NL`](https://python-all.ru/3.11/library/token.html#token.NL) и [`ENCODING`](https://python-all.ru/3.11/library/token.html#token.ENCODING).276277Изменено в версии 3.7: Удалены токены [`AWAIT`](https://python-all.ru/3.11/library/token.html#token.AWAIT) и [`ASYNC`](https://python-all.ru/3.11/library/token.html#token.ASYNC). «async» и «await» теперь токенизируются как токены [`NAME`](https://python-all.ru/3.11/library/token.html#token.NAME).278279Изменено в версии 3.8: Добавлены токены [`TYPE_COMMENT`](https://python-all.ru/3.11/library/token.html#token.TYPE_COMMENT), [`TYPE_IGNORE`](https://python-all.ru/3.11/library/token.html#token.TYPE_IGNORE), [`COLONEQUAL`](https://python-all.ru/3.11/library/token.html#token.COLONEQUAL). Добавлены обратно токены [`AWAIT`](https://python-all.ru/3.11/library/token.html#token.AWAIT) и [`ASYNC`](https://python-all.ru/3.11/library/token.html#token.ASYNC) (они необходимы для поддержки разбора старых версий Python для [`ast.parse()`](https://python-all.ru/3.11/library/ast.html#ast.parse) с `feature_version`, установленным в 6 или ниже).280