token
— Konstanter som används med Python parse-träd¶
Källkod: Lib/token.py
Denna modul tillhandahåller konstanter som representerar de numeriska värdena för bladnoder i parseträdet (terminaltokens). Se filen Grammar/Tokens
i Python-distributionen för definitionerna av namnen i samband med språkgrammatiken. De specifika numeriska värden som namnen motsvarar kan ändras mellan olika Python-versioner.
Modulen innehåller också en mappning från numeriska koder till namn och vissa funktioner. Funktionerna speglar definitionerna i Python C:s huvudfiler.
Observera att en tokens värde kan bero på tokenizer-alternativ. Till exempel kan en "+"
-token rapporteras som antingen PLUS
eller OP
, eller en "match"
-token kan vara antingen NAME
eller SOFT_KEYWORD
.
- token.tok_name¶
Ordbok som mappar de numeriska värdena för de konstanter som definieras i den här modulen tillbaka till namnsträngar, vilket gör det möjligt att generera mer lättlästa representationer av parseträd.
- token.ISTERMINAL(x)¶
Returnerar
True
för terminal token-värden.
- token.ISNONTERMINAL(x)¶
Returnerar
True
för icke-terminala tokenvärden.
- token.ISEOF(x)¶
Returnerar
True
om x är markören som indikerar slutet på inmatningen.
Tokenkonstanterna är:
- token.NAME¶
Tokenvärde som anger en identifierare. Observera att nyckelord också initialt tokeniseras som
NAME
-tokens.
- token.NUMBER¶
Tokenvärde som anger en numerisk bokstav
- token.STRING¶
Tokenvärde som anger en sträng- eller byte-litteral, exklusive formaterade stränglitteraler. Tokensträngen tolkas inte: den inkluderar de omgivande citattecknen och prefixet (om det anges); backslashes inkluderas bokstavligen, utan att bearbeta escape-sekvenser.
- token.OP¶
Ett generiskt tokenvärde som anger en operator eller delimiter.
Detta värde rapporteras endast av modulen
tokenize
. Internt använder tokenizer exakta token-typer istället.
- token.COMMENT¶
Tokenvärde som används för att ange en kommentar. Parsern ignorerar
COMMENT
-tokens.
- token.NEWLINE¶
Tokenvärde som anger slutet på en logisk rad.
- token.NL¶
Tokenvärde som används för att ange en icke-avslutande ny rad.
NL
-tokens genereras när en logisk kodrad fortsätter över flera fysiska rader. Parsern ignorerarNL
-tokens.
- token.INDENT¶
Tokenvärde som används i början av en logisk rad för att ange början av ett inklätt block.
- token.DEDENT¶
Tokenvärde som används i början av en logisk rad för att ange slutet av ett inklätt block.
- token.FSTRING_START¶
Tokenvärde som används för att ange början på en f-string literal.
Tokensträngen innehåller prefixet och de inledande citaten, men inget av innehållet i den bokstavliga texten.
- token.FSTRING_MIDDLE¶
Tokenvärde som används för bokstavlig text i en f-string literal, inklusive formatspecifikationer.
Ersättningsfält (dvs. de icke-bokstavliga delarna av f-strängar) använder samma symboler som andra uttryck och avgränsas av symbolerna
LBRACE
,RBRACE
,EXCLAMATION
ochCOLON
.
- token.FSTRING_END¶
Tokenvärde som används för att ange slutet på en f-string.
Tokensträngen innehåller det avslutande citatet (citaten).
- token.TSTRING_START¶
Tokenvärde som används för att ange början på en mallsträng.
Tokensträngen innehåller prefixet och de inledande citaten, men inget av innehållet i den bokstavliga texten.
Tillagd i version 3.14.
- token.TSTRING_MIDDLE¶
Tokenvärde som används för bokstavlig text i en mallsträng, inklusive formatspecifikationer.
Ersättningsfält (dvs. de icke-bokstavliga delarna av t-strängar) använder samma symboler som andra uttryck och avgränsas av symbolerna
LBRACE
,RBRACE
,EXCLAMATION
ochCOLON
.Tillagd i version 3.14.
- token.TSTRING_END¶
Tokenvärde som används för att ange slutet på en mallsträng.
Tokensträngen innehåller det avslutande citatet (citaten).
Tillagd i version 3.14.
- token.ENDMARKER¶
Tokenvärde som anger slutet på inmatningen. Används i grammatikregler på högsta nivå.
- token.ENCODING¶
Tokenvärde som anger den kodning som används för att avkoda källbytes till text. Den första token som returneras av
tokenize.tokenize()
kommer alltid att vara enENCODING
token.Den här token-typen används inte av C-tokenizer men behövs för modulen
tokenize
.
Följande token-typer produceras inte av modulen tokenize
, utan definieras för speciella användningsområden i tokenizer eller parser:
- token.TYPE_IGNORE¶
Tokenvärde som indikerar att en
typ: ignore
kommentar identifierades. Sådana tokens produceras istället för vanligaCOMMENT
tokens endast medPyCF_TYPE_COMMENTS
flaggan.
- token.TYPE_COMMENT¶
Tokenvärde som indikerar att en typkommentar har identifierats. Sådana tokens produceras istället för vanliga
COMMENT
-tokens endast medPyCF_TYPE_COMMENTS
-flaggan.
- token.SOFT_KEYWORD¶
Tokenvärde som anger ett mjukt nyckelord.
Tokenizer producerar aldrig detta värde. För att kontrollera om det finns ett mjukt nyckelord, skicka en
NAME
-tokensträng tillkeyword.issoftkeyword()
.
- token.ERRORTOKEN¶
Tokenvärde som används för att indikera felaktig inmatning.
Modulen
tokenize
indikerar i allmänhet fel genom att skapa undantag i stället för att skicka ut denna token. Den kan också avge tokens somOP
ellerNAME
med strängar som senare avvisas av parsern.
De återstående symbolerna representerar specifika operatorer och avgränsare. (Modulen tokenize
rapporterar dessa som OP
; se exact_type
i tokenize
-dokumentationen för detaljer)
Token |
Värde |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Följande icke-token-konstanter tillhandahålls:
- token.N_TOKENS¶
Antalet token-typer som definieras i denna modul.
- token.EXACT_TOKEN_TYPES¶
En ordbok som mappar strängrepresentationen av en token till dess numeriska kod.
Tillagd i version 3.8.
Ändrad i version 3.5: Lagt till AWAIT
och ASYNC
tokens.
Ändrad i version 3.7: Tog bort AWAIT
och ASYNC
tokens. ”async” och ”await” är nu tokeniserade som NAME
tokens.
Ändrad i version 3.8: Lagt till TYPE_COMMENT
, TYPE_IGNORE
, COLONEQUAL
. Lagt till AWAIT
och ASYNC
tokens igen (de behövs för att stödja parsning av äldre Python-versioner för ast.parse()
med feature_version
satt till 6 eller lägre).
Ändrad i version 3.12: Lagt till EXCLAMATION
.
Ändrad i version 3.13: Tog bort AWAIT
och ASYNC
tokens igen.