• Other_ID_Start - explicit list of characters in PropList.txt to support backwards compatibility 

• Other_ID_Continue - likewise 

All identifiers are converted into the normal form NFKC while parsing; comparison of identifiers is based on NFKC. 

A non-normative HTML file listing all valid identifier characters for Unicode 4.1 can be found at https://www.unicode. org/Public/13.0.0/ucd/DerivedCoreProperties.txt 

## 2.3.1 Keywords 

The following identifiers are used as reserved words, or keywords of the language, and cannot be used as ordinary identifiers. They must be spelled exactly as written here: 

False None True and as assert async 

## 2.3.2 Reserved classes of identifiers 

await break class continue def del elif 

else except finally for from global if 

import in is lambda nonlocal not or 

pass raise return try while with yield 

Certain classes of identifiers (besides keywords) have special meanings. These classes are identified by the patterns of leading and trailing underscore characters: 

$_{_*}$Not imported by$_{from module import *}$ . The special identifier$_{_}$is used in the interactive interpreter to store the result of the last evaluation; it is stored in the$_{builtins}$module. When not in interactive mode,$_{_}$ has no special meaning and is not defined. See section The import statement . 

Note: The name$_{_}$is often used in conjunction with internationalization; refer to the documentation for the $_{gettext}$module for more information on this convention. 

__*__ System-defined names, informally known as “dunder” names. These names are defined by the interpreter and its implementation (including the standard library). Current system names are discussed in the Special method names section and elsewhere. More will likely be defined in future versions of Python. Any use of __*__ names, in any context, that does not follow explicitly documented use, is subject to breakage without warning. 

__* Class-private names. Names in this category, when used within the context of a class definition, are re-written to use a mangled form to help avoid name clashes between “private” attributes of base and derived classes. See section Identifiers (Names) . 

## 2.4 Literals 

Literals are notations for constant values of some built-in types. 

