token — Constants used with Python parse trees#

Source code: Lib/token.py


This module provides constants which represent the numeric values of leaf nodes of the parse tree (terminal tokens). Refer to the file Grammar/Tokens in the Python distribution for the definitions of the names in the context of the language grammar. The specific numeric values which the names map to may change between Python versions.

The module also provides a mapping from numeric codes to names and some functions. The functions mirror definitions in the Python C header files.

token.tok_name#

Dictionary mapping the numeric values of the constants defined in this module back to name strings, allowing more human-readable representation of parse trees to be generated.

token.ISTERMINAL(x)#

Return True for terminal token values.

token.ISNONTERMINAL(x)#

Return True for non-terminal token values.

token.ISEOF(x)#

Return True if x is the marker indicating the end of input.

The token constants are:

token.ENDMARKER#
token.NAME#
token.NUMBER#
token.STRING#
token.NEWLINE#
token.INDENT#
token.DEDENT#
token.LPAR#

Token value for "(".

token.RPAR#

Token value for ")".

token.LSQB#

Token value for "[".

token.RSQB#

Token value for "]".

token.COLON#

Token value for ":".

token.COMMA#

Token value for ",".

token.SEMI#

Token value for ";".

token.PLUS#

Token value for "+".

token.MINUS#

Token value for "-".

token.STAR#

Token value for "*".

token.SLASH#

Token value for "/".

token.VBAR#

Token value for "|".

token.AMPER#

Token value for "&".

token.LESS#

Token value for "<".

token.GREATER#

Token value for ">".

token.EQUAL#

Token value for "=".

token.DOT#

Token value for ".".

token.PERCENT#

Token value for "%".

token.LBRACE#

Token value for "{".

token.RBRACE#

Token value for "}".

token.EQEQUAL#

Token value for "==".

token.NOTEQUAL#

Token value for "!=".

token.LESSEQUAL#

Token value for "<=".

token.GREATEREQUAL#

Token value for ">=".

token.TILDE#

Token value for "~".

token.CIRCUMFLEX#

Token value for "^".

token.LEFTSHIFT#

Token value for "<<".

token.RIGHTSHIFT#

Token value for ">>".

token.DOUBLESTAR#

Token value for "**".

token.PLUSEQUAL#

Token value for "+=".

token.MINEQUAL#

Token value for "-=".

token.STAREQUAL#

Token value for "*=".

token.SLASHEQUAL#

Token value for "/=".

token.PERCENTEQUAL#

Token value for "%=".

token.AMPEREQUAL#

Token value for "&=".

token.VBAREQUAL#

Token value for "|=".

token.CIRCUMFLEXEQUAL#

Token value for "^=".

token.LEFTSHIFTEQUAL#

Token value for "<<=".

token.RIGHTSHIFTEQUAL#

Token value for ">>=".

token.DOUBLESTAREQUAL#

Token value for "**=".

token.DOUBLESLASH#

Token value for "//".

token.DOUBLESLASHEQUAL#

Token value for "//=".

token.AT#

Token value for "@".

token.ATEQUAL#

Token value for "@=".

token.RARROW#

Token value for "->".

token.ELLIPSIS#

Token value for "...".

token.COLONEQUAL#

Token value for ":=".

token.OP#
token.AWAIT#
token.ASYNC#
token.TYPE_IGNORE#
token.TYPE_COMMENT#
token.SOFT_KEYWORD#
token.ERRORTOKEN#
token.N_TOKENS#
token.NT_OFFSET#

The following token type values aren’t used by the C tokenizer but are needed for the tokenize module.

token.COMMENT#

Token value used to indicate a comment.

token.NL#

Token value used to indicate a non-terminating newline. The NEWLINE token indicates the end of a logical line of Python code; NL tokens are generated when a logical line of code is continued over multiple physical lines.

token.ENCODING#

Token value that indicates the encoding used to decode the source bytes into text. The first token returned by tokenize.tokenize() will always be an ENCODING token.

token.TYPE_COMMENT

Token value indicating that a type comment was recognized. Such tokens are only produced when ast.parse() is invoked with type_comments=True.

Changed in version 3.5: Added AWAIT and ASYNC tokens.

Changed in version 3.7: Added COMMENT, NL and ENCODING tokens.

Changed in version 3.7: Removed AWAIT and ASYNC tokens. “async” and “await” are now tokenized as NAME tokens.

Changed in version 3.8: Added TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL. Added AWAIT and ASYNC tokens back (they’re needed to support parsing older Python versions for ast.parse() with feature_version set to 6 or lower).