token — 파이썬 구문 분석 트리에 사용되는 상수¶
소스 코드: Lib/token.py
이 모듈은 구문 분석 트리의 말단 노드의 숫자 값을 나타내는 상수를 제공합니다 (터미널 토큰). 언어 문법의 문맥에서 이름의 정의는 파이썬 배포판의 Grammar/Tokens 파일을 참조하십시오. 이름이 매핑되는 특정 숫자 값은 파이썬 버전 간에 변경될 수 있습니다.
이 모듈은 숫자 코드에서 이름으로의 매핑과 몇몇 함수도 제공합니다. 이 함수는 파이썬 C 헤더 파일의 정의를 반영합니다.
토큰의 값은 토크나이저 옵션에 따라 다를 수 있습니다. 예를 들어, "+" 토큰은 PLUS 또는 OP 로 보고될 수 있으며, "match" 토큰은 NAME 또는 SOFT_KEYWORD 일 수 있습니다.
- token.tok_name¶
이 모듈에 정의된 상수의 숫자 값을 다시 이름 문자열로 매핑하여 사람이 읽을 수 있는 구문 분석 트리 표현을 생성할 수 있도록 하는 딕셔너리.
- token.ISTERMINAL(x)¶
터미널 토큰값이면
True를 반환합니다.
- token.ISNONTERMINAL(x)¶
비 터미널 토큰값이면
True를 반환합니다.
- token.ISEOF(x)¶
x가 입력의 마지막을 나타내는 표시면
True를 반환합니다.
토큰 상수는 다음과 같습니다:
- token.STRING¶
:ref:`형식화된 문자열 리터럴 <f-strings>`을 제외한, :ref:`문자 또는 바이트 리터럴 <strings>`을 나타내는 토큰 값입니다. 토큰 문자열은 해석되지 않습니다. 주변 따옴표와 접두사(제공된 경우)가 포함되며, 백슬래시는 이스케이프 시퀀스 처리 없이 문자 그대로 포함됩니다.
- token.COMMENT¶
주석을 나타내는 데 사용되는 토큰값. 구문 분석기는
COMMENT토큰을 무시합니다.
- token.NL¶
비종결 줄넘김을 나타내는데 사용되는 토큰값.
NL토큰은 코드의 논리적 줄이 여러 물리적 줄로 이어질 때 생성됩니다. 구문 분석기는NL토큰을 무시합니다.
- token.INDENT¶
:ref:`논리적 라인 <logical-lines>`의 시작에서 :ref:`들여쓰기 블록 <indentation>`의 시작을 나타내는 데 사용되는 토큰 값입니다.
- token.DEDENT¶
:ref:`논리적 라인 <logical-lines>`의 시작에서 :ref:`들여쓰기 블록 <indentation>`의 끝을 나타내는 데 사용되는 토큰 값입니다.
- token.FSTRING_START¶
:ref:`f-string 리터럴 <f-strings>`의 시작을 나타내는 데 사용되는 토큰 값입니다.
토큰 문자열에는 접두사와 시작 따옴표는 포함되지만, 리터럴의 내용은 포함되지 않습니다.
- token.FSTRING_MIDDLE¶
서식 지정자를 포함하여 f-string 리터럴 내부의 리터럴 텍스트에 사용되는 토큰 값입니다.
치환 필드(즉, f-string의 비리터럴 부분)는 다른 표현식과 동일한 토큰을 사용하며,
LBRACE,RBRACE,EXCLAMATION및COLON토큰으로 구분됩니다.
- token.TSTRING_START¶
템플릿 문자열 리터럴의 시작을 나타내는 데 사용되는 토큰 값입니다.
토큰 문자열에는 접두사와 시작 따옴표는 포함되지만, 리터럴의 내용은 포함되지 않습니다.
Added in version 3.14.
- token.TSTRING_MIDDLE¶
서식 지정자를 포함하여 템플릿 문자열 리터럴 내부의 리터럴 텍스트에 사용되는 토큰 값입니다.
치환 필드(즉, t-string의 비리터럴 부분)는 다른 표현식과 동일한 토큰을 사용하며,
LBRACE,RBRACE,EXCLAMATION및COLON토큰으로 구분됩니다.Added in version 3.14.
- token.TSTRING_END¶
템플릿 문자열 리터럴의 끝을 나타내는 데 사용되는 토큰 값입니다.
토큰 문자열에는 종료 따옴표가 포함됩니다.
Added in version 3.14.
- token.ENCODING¶
소스 바이트열을 텍스트로 디코딩하는 데 사용되는 인코딩을 나타내는 토큰값.
tokenize.tokenize()에 의해 반환되는 첫 번째 토큰은 항상ENCODING토큰입니다.이 토큰 유형은 C 토크나이저가 사용하지 않지만
tokenize모듈에 필요합니다.
다음 토큰 유형은 tokenize 모듈에 의해 생성되지 않으며, 토크나이저나 파서에서 특별한 사용을 위해 정의됩니다:
- token.TYPE_IGNORE¶
type: ignore주석이 인식되었음을 나타내는 토큰값. 이러한 토큰은PyCF_TYPE_COMMENTS플래그가 있는 경우에만 일반COMMENT토큰 대신 생성됩니다.
- token.TYPE_COMMENT¶
형 주석이 인식되었음을 나타내는 토큰값. 이러한 토큰은
PyCF_TYPE_COMMENTS플래그가 있는 경우에만 일반COMMENT토큰 대신 생성됩니다.
- token.SOFT_KEYWORD¶
:ref:`소프트 키워드 <soft-keywords>`를 나타내는 토큰 값을 의미합니다.
토크나이저는 이 값을 절대 생성하지 않습니다. 소프트 키워드를 확인하려면,
NAME토큰의 문자열을 :func:`keyword.issoftkeyword`에 전달하세요.
- token.ERRORTOKEN¶
잘못된 입력을 나타내는 데 사용되는 토큰값.
tokenize모듈은 일반적으로 이 토큰을 방출하는 대신 예외를 발생시켜 오류를 나타냅니다. 또한, 파서에 의해 나중에 거부되는 문자열을 가진OP또는 :data:`NAME`과 같은 토큰도 방출할 수 있습니다.
토큰 스트림 처리를 단순화하기 위해 모든 연산자 토큰 및 Ellipsis\는 일반적인 OP 토큰 유형을 사용해 반환됩니다. 정확한 유형은 tokenize 문서에서 tokenize.tokenize()\를 통해 반환된 네임드 튜플\의 exact_type 속성을 확인하여 알아낼 수 있습니다.
토큰 |
값 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
다음과 같은 토큰이 아닌 상수가 제공됩니다:
- token.N_TOKENS¶
이 모듈에 정의된 토큰 유형의 개수입니다.
- token.EXACT_TOKEN_TYPES¶
토큰의 문자열 표현과 해당 숫자 코드에 매핑하는 딕셔너리입니다.
Added in version 3.8.
버전 3.5에서 변경: AWAIT 와 ASYNC 토큰이 추가되었습니다.
버전 3.7에서 변경: AWAIT 와 ASYNC 토큰이 제거되었습니다. “async”와 “await”는 이제 NAME 토큰으로 토큰화됩니다.
버전 3.8에서 변경: TYPE_COMMENT, TYPE_IGNORE, COLONEQUAL이 추가되었습니다. AWAIT와 ASYNC 토큰을 다시 추가했습니다 (feature_version을 6 이하로 설정하여 ast.parse()로 구형 파이썬 버전의 구문 분석을 지원하는 데 필요합니다).
버전 3.12에서 변경: EXCLAMATION을 추가했습니다.
버전 3.13에서 변경: AWAIT 와 ASYNC 토큰을 다시 제거했습니다.