token
— Constants used with Python parse trees¶
소스 코드: 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.
이 모듈은 숫자 코드에서 이름으로의 매핑과 몇몇 함수도 제공합니다. 이 함수는 파이썬 C 헤더 파일의 정의를 반영합니다.
Note that a token’s value may depend on tokenizer options. For example, a
"+"
token may be reported as either PLUS
or OP
, or
a "match"
token may be either NAME
or SOFT_KEYWORD
.
- token.tok_name¶
이 모듈에 정의된 상수의 숫자 값을 다시 이름 문자열로 매핑하여 사람이 읽을 수 있는 구문 분석 트리 표현을 생성할 수 있도록 하는 딕셔너리.
- token.ISTERMINAL(x)¶
터미널 토큰값이면
True
를 반환합니다.
- token.ISNONTERMINAL(x)¶
비 터미널 토큰값이면
True
를 반환합니다.
- token.ISEOF(x)¶
x가 입력의 마지막을 나타내는 표시면
True
를 반환합니다.
토큰 상수는 다음과 같습니다:
- token.NAME¶
Token value that indicates an identifier. Note that keywords are also initially tokenized an
NAME
tokens.
- token.NUMBER¶
Token value that indicates a numeric literal
- token.STRING¶
Token value that indicates a string or byte literal, excluding formatted string literals. The token string is not interpreted: it includes the surrounding quotation marks and the prefix (if given); backslashes are included literally, without processing escape sequences.
- token.OP¶
A generic token value that indicates an operator or delimiter.
CPython 구현 상세: This value is only reported by the
tokenize
module. Internally, the tokenizer uses exact token types instead.
- token.COMMENT¶
Token value used to indicate a comment. The parser ignores
COMMENT
tokens.
- token.NEWLINE¶
Token value that indicates the end of a logical line.
- token.NL¶
Token value used to indicate a non-terminating newline.
NL
tokens are generated when a logical line of code is continued over multiple physical lines. The parser ignoresNL
tokens.
- token.INDENT¶
Token value used at the beginning of a logical line to indicate the start of an indented block.
- token.DEDENT¶
Token value used at the beginning of a logical line to indicate the end of an indented block.
- token.FSTRING_START¶
Token value used to indicate the beginning of an f-string literal.
CPython 구현 상세: The token string includes the prefix and the opening quote(s), but none of the contents of the literal.
- token.FSTRING_MIDDLE¶
Token value used for literal text inside an f-string literal, including format specifications.
CPython 구현 상세: Replacement fields (that is, the non-literal parts of f-strings) use the same tokens as other expressions, and are delimited by
LBRACE
,RBRACE
,EXCLAMATION
andCOLON
tokens.
- token.FSTRING_END¶
Token value used to indicate the end of a f-string.
CPython 구현 상세: The token string contains the closing quote(s).
- token.ENDMARKER¶
Token value that indicates the end of input.
- token.ENCODING¶
소스 바이트열을 텍스트로 디코딩하는 데 사용되는 인코딩을 나타내는 토큰값.
tokenize.tokenize()
에 의해 반환되는 첫 번째 토큰은 항상ENCODING
토큰입니다.CPython 구현 상세: This token type isn’t used by the C tokenizer but is needed for the
tokenize
module.
The following token types are not produced by the tokenize
module,
and are defined for special uses in the tokenizer or parser:
- token.TYPE_IGNORE¶
Token value indicating that a
type: ignore
comment was recognized. Such tokens are produced instead of regularCOMMENT
tokens only with thePyCF_TYPE_COMMENTS
flag.
- token.TYPE_COMMENT¶
Token value indicating that a type comment was recognized. Such tokens are produced instead of regular
COMMENT
tokens only with thePyCF_TYPE_COMMENTS
flag.
- token.SOFT_KEYWORD¶
Token value indicating a soft keyword.
The tokenizer never produces this value. To check for a soft keyword, pass a
NAME
token’s string tokeyword.issoftkeyword()
.
- token.ERRORTOKEN¶
Token value used to indicate wrong input.
The
tokenize
module generally indicates errors by raising exceptions instead of emitting this token. It can also emit tokens such asOP
orNAME
with strings that are later rejected by the parser.
The remaining tokens represent specific operators and
delimiters.
(The tokenize
module reports these as OP
; see exact_type
in the tokenize
documentation for details.)
Token |
Value |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following non-token constants are provided:
- token.N_TOKENS¶
The number of token types defined in this module.
- token.EXACT_TOKEN_TYPES¶
A dictionary mapping the string representation of a token to its numeric code.
Added in version 3.8.
버전 3.5에서 변경: Added AWAIT
and ASYNC
tokens.
버전 3.7에서 변경: Removed AWAIT
and ASYNC
tokens. “async” and “await” are
now tokenized as NAME
tokens.
버전 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).
버전 3.12에서 변경: Added EXCLAMATION
.
버전 3.13에서 변경: Removed AWAIT
and ASYNC
tokens again.