根据PEP 3131,标识符的第一个字符必须属于ID_Start
,其余部分属于ID_Continue
,定义如下:
ID_Start
定义为具有以下常规类别之一的所有字符:大写字母(Lu),小写字母(Ll),标题字母(Lt),修饰符(Lm),其他字母(Lo),字母数字(Nl),下划线,以及带有Other_ID_Start属性的字符。XID_Start然后通过删除所有不再具有NFKC规范化形式的字符来在规范化下关闭此集合ID_Start ID_Continue*
。
ID_Continue
定义为中的所有字符ID_Start
,再加上非空格标记(Mn),间隔组合标记(Mc),十进制数字(Nd),连接器标点符号(Pc)和带有“ Other_ID_Continue”属性的字符。再次,XID_Continue
在NFKC归一化下关闭此集合;它还增加U+00B7
了对加泰罗尼亚语的支持。
那是一个很长的列表(目前大约有120.000个字符)-幸运的是,GitHub上有一个有用的项目,其中包含列表和生成列表的脚本。