Unicode在Python中转义了注释

时间:2015-03-06 22:35:44

标签: python unicode escaping comments lexical-analysis

我制作了一个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)

1 个答案:

答案 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 

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