Python中的Unicode转义注释

Python中的Unicode转义注释,python,unicode,escaping,comments,lexical-analysis,Python,Unicode,Escaping,Comments,Lexical Analysis,我制作了一个Java程序,它使用unicode转义字符来打断多行注释并隐藏一些功能。下面的程序打印“你好,残酷的世界”。我想知道这是否可以在Python(任何版本)中实现。如果不可能,如何在语言中防止这种情况 public static void main(String[] args) { print("Hello"); /* * \u002A\u002F\u0070\u0072\u0069\u006E\u0074\u0028\u0022\u0043\u0072\u0

我制作了一个Java程序,它使用unicode转义字符来打断多行注释并隐藏一些功能。下面的程序打印“你好,残酷的世界”。我想知道这是否可以在Python(任何版本)中实现。如果不可能,如何在语言中防止这种情况

public static void main(String[] args) {
    print("Hello");

    /*
     * \u002A\u002F\u0070\u0072\u0069\u006E\u0074\u0028\u0022\u0043\u0072\u0075\u0065\u006C\u0022\u0029\u003B\u002F\u002A
     */
    print("World");
}

private static void print(String s){
    System.out.print(s + " ");
}
请注意,unicode是转义字符串
*/print(“craul”)/*

到目前为止,我的尝试是徒劳的

test = False

#\u0023test = True

'''
\u0027\u0027\u0027
test = True 
\u0027\u0027\u0027
'''

print(test)

PythonLexer只处理Unicode字符串文本中的Unicode转义(
u'
,在Python2中,
'
,在Python3中),因此这种方法是不可能的

如果您只尝试简单的空格,
\u0020
,python会抛出:

SyntaxError: unexpected character after line continuation character
这是因为在字符串文字之外,
\
字符主要用于将一条长线拆分为几条较短的线:

spam = foo + bar + baz + ham + \
       eggs + ham + spam + spam + \
       spam + sausages + spam 

在字符串之外,
\
之后唯一允许的字符是换行符。

Python lexer只处理Unicode字符串文本中的Unicode转义
u'
在Python 2中,
'
在Python 3中),因此这种方法是不可能的

如果您只尝试简单的空格,
\u0020
,python会抛出:

SyntaxError: unexpected character after line continuation character
这是因为在字符串文字之外,
\
字符主要用于将一条长线拆分为几条较短的线:

spam = foo + bar + baz + ham + \
       eggs + ham + spam + spam + \
       spam + sausages + spam 

在字符串之外,
\
之后唯一允许的字符是换行符。

永远不要这样做。。。我同意这是多么可怕的事情。我正在寻找程序分析工具中的边缘案例…我不认为你能在python中做到这一点。。。谢天谢地,如果您正在用Python进行程序分析,我想您最糟糕的噩梦应该是“exec”函数性。按照您的想法,可以执行一些模糊代码。i、 e.
exec(“\u0074\u0065\u0073\u0074\u0020\u003d\u0020\u0054\u0072\u0075\u0065”)
@Cilyan是的,但您仍然无法将其放在注释中(或三重引号字符串中),永远不要这样做。。。我同意这是多么可怕的事情。我正在寻找程序分析工具中的边缘案例…我不认为你能在python中做到这一点。。。谢天谢地,如果您正在用Python进行程序分析,我想您最糟糕的噩梦应该是“exec”函数性。按照您的想法,可以执行一些模糊代码。i、 e.
exec(“\u0074\u0065\u0073\u0074\u0020\u003d\u0020\u0054\u0072\u0075\u0065”)
@Cilyan是的,但您仍然无法将其放在注释中(或三重引号字符串中)