我想在Python3脚本中为变量名使用更多种类的Unicode符号。 Python3变量名中可以使用哪些字符?
更新:我最近开始使用Unicode符号(例如希腊语和亚洲符号)进行代码混淆。
答案 0 :(得分:20)
根据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
来支持加泰罗尼亚语。
这是一个很长的清单 - 幸运的是Martin v. Löwis has already built it。感谢larsmans的链接!