Python3变量名中接受哪些Unicode符号?

Dev*_*son 12 python variables unicode syntax python-3.x

我想在Python3脚本中使用更多种类的Unicode符号作为变量名.在Python3变量名中可以使用哪些字符?

更新:我最近开始使用Unicode符号(例如希腊语和亚洲符号)进行代码混淆.

Tim*_*ker 23

根据PEP 3131,标识符的第一个字符需要属于ID_Start,其余的属于ID_Continue,定义如下:

ID_Start被定义为具有一般类别大写字母(Lu),小写字母(L1),标题字母(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诉Löwis已经建立了它.感谢larsmans的链接!

  • 令人沮丧的是,我们可以使用glagolitic字符或viking符文来启动我们的变量名称,但我们不能使用您可以在大多数移动设备上键入并在大多数计算机上输入的相当常见的符号.我知道我们不应该使用具有特殊含义的数字或数学符号来启动变量名称,但我认为emojis会在很多情况下使用该变量名称. (4认同)
  • PEP 3131参考此表:http://www.dcl.hpi.uni-potsdam.de/home/loewis/table-3131.html (3认同)
  • 我在哪里可以找到符合\ w的符号列表? (2认同)
  • 为什么不包括(西瓜)这样的有用字符? (2认同)