
上QQ阅读APP看书,第一时间看更新
3.3 原始字符串
听起来好像反斜杠是一个好东西,但不妨试试打印C:\now:

打印结果并不是我们预期的,原因是反斜杠(\)和后边的字符(n)恰好转义之后构成了换行符(\n)。这时候有朋友可能会说:“用反斜杠来转义反斜杠不就可以啦?”嗯,不错,可以用反斜杠对自身进行转义:

但如果对于一个字符串中有很多个反斜杠,我们就不乐意了。毕竟,这不仅是一个苦差事,还可能使代码变得混乱。
不过大家也不用怕,因为在Python中有一个快捷的方法,就是使用原始字符串。原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:

在使用字符串时需要注意的一点是:无论是否原始字符串,都不能以反斜杠作为结尾(注:反斜杠放在字符串的末尾表示该字符串还没有结束,换行继续的意思,下一节会讲这个内容)。如果你坚持这样做就会报错:

大家不妨考虑一下:如果非要在字符串的结尾加个反斜杠,有什么办法可以灵活实现吗?