上QQ阅读APP看书,第一时间看更新
3.3 原始字符串
看起来好像反斜杠是一个好东西,那不妨试试打印C:\now,代码如下:
>>> string = 'C:\now' >>> string 'C:\now' >>> print(string) C: ow
打印结果并不是我们预期的,原因是反斜杠(\)和后边的字符(n)恰好转义之后构成了换行符(\n)。这时候有朋友可能会说,用反斜杠来转义反斜杠不就可以啦。嗯,不错,的确可以用反斜杠对自身进行转义:
>>> string = 'C:\\now' >>> string 'C:\\now' >>> print(string) C:\now
但如果一个字符串中有很多个反斜杠,我们就不乐意了。毕竟,这不仅是一个苦差事,还可能使代码变得混乱。
不过大家也不用怕,因为在Python里有一个快捷的方法,就是使用原始字符串。原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:
>>> string = r'C:\now' >>> string 'C:\\now' >>> print(string) C:\now
在使用字符串时需要注意的一点是:无论是否为原始字符串,都不能以反斜杠作为结尾(注:反斜杠放在字符串的末尾表示该字符串还没有结束,换行继续的意思,下一节会介绍)。如果坚持这样做就会报错:
>>> string = 'FishC\' SyntaxError: EOL while scanning string literal >>> string = r'FishC\' SyntaxError: EOL while scanning string literal
大家不妨考虑一下:如果非要在字符串的结尾加个反斜杠,有什么办法可以来灵活实现呢?