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
Trueför terminal token-värden.
- token.ISNONTERMINAL(x)¶
Returnerar
Trueför icke-terminala tokenvärden.
- token.ISEOF(x)¶
Returnerar
Trueom 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,EXCLAMATIONochCOLON.
- 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,EXCLAMATIONochCOLON.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 enENCODINGtoken.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: ignorekommentar identifierades. Sådana tokens produceras istället för vanligaCOMMENTtokens endast medPyCF_TYPE_COMMENTSflaggan.
- 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
tokenizeindikerar i allmänhet fel genom att skapa undantag i stället för att skicka ut denna token. Den kan också avge tokens somOPellerNAMEmed 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.