Python中转义字符是个啥

news/2024/10/25 13:14:10/

文章目录

  • 前言
  • 一、转义字符是什么?
  • 二、常见的转义字符有哪些?
  • 总结


前言

昨天有粉丝问了我这个代码问题,如下图:

在这里插入图片描述

他很好奇代码都没有错误,怎么运行就报错,不知道有咩有小伙伴能看出问题在哪呢?

在这里插入图片描述

其实问题是出在文件路径这里,文件路径中有个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换页

http://www.ppmy.cn/news/5773.html

相关文章

Redis - Redis持久化:AOF和RDB

1. 为什么要持久化 Redis是内从数据库,宕机后数据会丢失;Redis重启后,为了快速恢复数据,提供了持久化机制;Redis有两种持久化方式:RDB和AOF,这也是Redis无畏宕机与快速恢复数据的杀手锏。 注意…

5G MEC UPF选择及本地分流技术分析

【摘 要】边缘计算的本质是一场架构革命,为满足超低时延和超大带宽等业务需求,应用从传统Client-Server架构转向Client-Edge-Server三级架构,实现云网融合。在5G网络中,如何为边缘应用选择合适的UPF,实现高效的本地分流成为关键问题。为解决这个问题,分析了采用5G核心网…

vue-element 表单校验

1. 表单校验 完整的表单校验需要三个组件完成配合,分别是el-form,el-form-item,表单项,如el-input el-form 负责绑定model和rulesel-form-item 负责绑定propel-input 负责双向绑定具体的表单数据 手动兜底校验 1.1 表单项校验 1.1.1 内置校验规则 在Rules:{}中给每一个需要…

Godzilla(哥斯拉)安装与使用

Godzilla安装与使用1.Godzilla介绍2.Godzliia下载与安装2.1.Godzilla下载2.2.运行环境2.3.Godzilla安装2.3.1.执行文件2.3.2.安装完成3.Godzliia3.1.Godzliia使用3.1.1.生成木马3.1.2.存储木马3.1.3.放入木马3.1.4.访问木马3.1.5.连接木马3.1.6.测试连接3.1.7.连接进入3.2.Godz…

要学的东西太多了怎么办

一、前言 为什么要写这篇博客,一方面是自己最近遇到一些事情然后刚想清楚,一方面是跟以前的同事朋友们聊天,发现他们都很沮丧,感叹学不完的知识以及焦虑年龄会影响职业生涯。在群上劝他们的我似乎成了那个唯一的奋斗逼&#xff0c…

单片机——LED

0. 单片机编程的一般步骤 目标分析:点亮开发板上的LED灯 电路原理图分析:相关器件的工作原理 数据手册分析:IO端口控制 代码编写、编译 下载与调试 1. LED简介 Led:即发光二极管,具有单向导通性,一般…

RK3568下载SDK编译源码

前面我们已经搭建好了编译一个环境https://blog.csdn.net/qq_24093081/article/details/128394606 所以在这里我们就需要下载瑞芯微提供的SDK进行编译,由于RK3568支持多种系统,比如Android11,Linux(debian、Ubuntu、buildroot、yo…

Numpy+PIL实现图片的自由旋转

1.内容简介 使用PIL和Numpy编程实现图片的自由旋转。 2.技术要点 (1)用Python PIL库将图片读取为NumPy 数组。 (2)采用旋转后图像幅面放大的图像旋转变换方式,根据旋转角度和原图像尺寸计算图像像素点的旋转变换矩阵…