文章目录
- 前言
- 一、转义字符是什么?
- 二、常见的转义字符有哪些?
- 总结
前言
昨天有粉丝问了我这个代码问题,如下图:
他很好奇代码都没有错误,怎么运行就报错,不知道有咩有小伙伴能看出问题在哪呢?
其实问题是出在文件路径这里,文件路径中有个tengchong的文件夹,文件夹本身是没错的,但是开头的t遇到反斜杠\给转义了,里面的路径就彻底出错了,这都是字符串中转义字符
在作怪。
看到这里是不是很多小伙伴觉得很神奇,当然有的可能会懵。没关系,今天我就跟大家详细说说Python里面转义字符的用处,相信大家以后都会碰到这些问题。
一、转义字符是什么?
转义字符顾名思义就是把字符串当中字符原本的意思给转变为新的意思,那怎么转呢?肯定是有工具的,这个工具就是反斜杠“\”。反斜杠的作用就相当于给字符套个壳,然后让它重出江湖。
二、常见的转义字符有哪些?
(1)【 \ 】一个单独的反斜杠表示续行符
看到这里,有的小伙伴是不是很惊讶,不是说反斜杠给别的字符套壳,然后把人家转变含义吗,这怎么还给自己套上壳了,功力深厚啊!!!
那啥叫续行符呢?不知道大家还有没有印象,我之前的博客里面有一组代码是写了一首诗,里面就有续行符的出现,我们可以再看看:
看到上图大家应该就明白了,续行符的意思就是一行没有结束,但是要另起一行写,所以行尾要有这个符号,这也是为什么明明一首诗在代码里面写了六行,但是运行之后却看到都在一行显示。因为换行符的存在就昭示着这行代码是并没有结束的。
这里有小伙伴可能会有疑问:为什么我要加这些续行符上去呢?不加的话不是可以把一首诗漂亮的打印出来吗?其实这些续行符并不是我加上去的,是我写完一句诗,只要按下回车键另起下一行写,它就会帮我自动在上一行的行尾添加续行符。如果我们强行把这些续行符删了会出现什么结果呢?试试看:
满屏的错误哦,看过博主之前博客的小伙伴应该知道,在Python中单引号包裹的字符串只能写在一行,那现在我们强行写在多行就肯定会报错。所以续行符的作用就是当我们如果一行代码没有写完,想另起一行接着写,但是又不想让代码报错,就可以让它派上用场了。
(2)【 \n 】一个反斜杠加小写字母n表示换行符
一个小写字母n给套个反斜杠,n的含义瞬间三百六十度大转弯,变成了换行符。它的作用就是实现换行,如下图代码:
可以看到原本代码里面的一行字符串,就是因为中间加了\n,结果打印的时候\n后面的内容都换行输出了。
(3)【 \t 】一个反斜杠加小写字母t表示水平制表符
啥叫水平制表符呢?先不急,我们看组代码:
看完代码,小伙伴瞬间应该明白了,这个所谓制表符这么高大上的名字,不就是给字符中间打了间隔嘛。没错,其实水平制表符的作用就是相当于我们按了一次【Tab】键。
(4)【\"】一个反斜杠加双引号表示双引号
【"】 本身就是双引号,怎么还要你反斜杠转义呢?难不成转上瘾了,见啥都想转。当然不是的,既然是转义肯定就是转变了意思。大家想想双引号的作用是干嘛的?是不是包裹字符序列,让别人一看到就知道双引号里面的就是字符串。但是现在这个双引号被转义之后,没有任何作用,仅仅是个字符。就好像孙悟空原本神通广大,但是现在把他转义成凡人了,你还是你,但是你的本领没了。
那小伙伴肯定纳闷了:把双引号标识字符串的本领给弄没了,让它成为普通字符有啥用呢?有的场景下还真有用,比如下图:
这组代码有的小伙伴应该有印象,这是我之前写字符串那篇博客里面讲到的双引号里面包裹双引号会报错,包裹单引号就不会报错。但是现在我们又多了一样秘密武器:转义字符。
有了转义字符,这时候我们可以让双引号不再产生作用,仅仅只是个字符,那就不会报错了,如下图:
那依葫芦画瓢,我们应该知道了一个反斜杠加单引号表示单引号。
(5)【 \\】一个反斜杠加一个反斜杠表示一个反斜杠
有了上面的双引号打前站,现在大家看到这种转义功能应该也不惊讶了。两个反斜杠就是以毒攻毒,前一个反斜杠把后一个反斜杠给转义了,让后一个反斜杠失去了转义功能,成为一个普通字符。现在我们博客开头的问题是不是有了一个解决方案呢:在路径中的\t前面再加个反斜杠,这样反斜杠在路径里面就只是一个路径分隔符,没有任何转义作用,如下图:
我们可以看到代码运行成功并且显示完整路径,那有小伙伴可能会问:上面这个路径里面只有一个转义字符,那如果有很多很多呢?像下面这种:
并且路径打印出来完全乱了,如果要打印原本完整合规的路径,我岂不是要每个转义字符前面都加个反斜杠吗?当然不用的,告诉大家一个秘密武器:在字符串的前面加上字母r(或R),那么该字符串将原样输出,其中的所有转义字符将不进行转义。我们试试:
可以看到完美打印出正确路径,当然换成大写字母R也是一样的,赶快去试试哦。
总结
以上就是今天给大家介绍的Python中的转义字符用法,最后再附上常用转义字符表:
转义字符 | 说明 |
---|---|
\ | 续行符 |
\n | 换行符 |
\t | 水平制表符 |
\" | 双引号 |
\’ | 单引号 |
\\ | 一个反斜杠 |
\0 | 空 |
\f | 换页 |