我制作了一个Java程序,它使用unicode转义字符来打破多行注释并隐藏一些功能。下面的程序打印出“Hello Cruel World”。我想知道在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("Cruel");/*
到目前为止我的徒劳无功......
test = False
#\u0023test = True
'''
\u0027\u0027\u0027
test = True
\u0027\u0027\u0027
'''
print(test)
答案 0 :(得分:5)
Python词法分析器只处理Unicode转义 Unicode字符串文字(Python 2中的u''
,Python 3中的''
),因此这种方法是不可能的。
如果只尝试简单空格\u0020
,python吐出:
SyntaxError: unexpected character after line continuation character
这是因为外部字符串文字,\
字符主要用于将长行分成几个较短的字符串:
spam = foo + bar + baz + ham + \
eggs + ham + spam + spam + \
spam + sausages + spam
外部字符串,\
之后唯一允许的字符是换行符。