你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

上篇文章我们初步认识了字符串,知道字符串是由引号括起来的一段字符,但在实际使用过程中我们还会碰到一些莫名其妙的情况。
先看第一段代码。猜猜它会输出什么?
按道理来说,应该会输出双引号里面的文件路径。
但实际运行结果却是报错:
是不是很意外?再看第二段代码
有了第一段代码的教训,你以为它也会报错。
到底是会出错,还是会直接输出c:\nell\hetao怎么会这样?\n哪里去了?
这几个例子是不是让你瞬间觉得非常莫名其妙?别慌,其实都是转义字符搞的鬼。
在字符串里,只要出现了反斜杠 “\”,你就要小心了。
反斜杠 “\” 不是普通的符号,它是一个 “转换键”,让后面的字符改变原本的含义,所以才叫转义字符。
当 Python 看到 \ 时,它会想:“后面这个字母有特殊含义,我要特殊处理。”
但要注意: 不是所有 \ 加字母都有特殊含义。只有以下特定的几个组合才是转义字符。
前五个最常用,后面四个了解即可,如果以后碰到了再来查阅即可。
再来看第一段代码

Python 看到 \U,以为是要转义成Unicode字符,结果后面跟的不是8位数字,于是报错。注意:\A,\D都不是转义字符,会原样输出。
拓展:
\U 后面跟8个十六进制数字,用来表示一个Unicode字符。至于什么叫Unicode字符,什么叫十六进制数字,以后会单独写文章解释。这里只需要了解\U是转义字符即可。
第二段代码

\h 不是转义字符,会原样输出,所以输出正常
第三段代码

Python 看到\n,以为是要转义成换行符,所以输出换行,\h 不是转义字符,会原样输出。所以才会输出

理解了原因,我们才能知道怎么去解决它。
场景一:文件路径
文件路径里有很多反斜杠,比如 C:\Users\Admin\Desktop。
解决方案:用两个反斜杠,或者在字符串前面加一个 r:
推荐用第二个,r 表示“原始字符串”,里面的所有反斜杠都当作普通字符,不再转义。
场景二:输出带引号的文字
看到没,字符串里有双引号,本来应该用单引号括起来,但如果将里面的双引号通过反斜杠转义了,就不会出错了。
场景三:让文字换行或对齐
通过今天的学习,以后只要出现了反斜杠,你就要多一个心眼,是不是要转义了。本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。
觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!