什么是转义字符

转义字符是一个计算机专业词汇。在计算机当中,我们可以写出123 ,也可以写出字母abcd,但有些字符我们无法手动书写,比如我们需要对字符进行换行处理,但不能写出来换行符,当然我们也看不见换行符。像这种情况,我们需要在字符中使用特殊字符时,就需要用到转义字符,在python里用反斜杠\转义字符。

在交互式解释器中,输出的字符串用引号引起来,特殊字符用反斜杠\转义。虽然可能和输入看上去不太一样,但是两个字符串是相等的。

在python里,转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,具体都有哪些转义字符呢,见下表

python当中,我们定义一个字符串。可以用单引号 ‘…’ 或双引号 “…” 标识 。比如s = ‘abcd’,或者s = “abcd”,如果我们想在这样的字符串里再写一个单引号呢?比如it’s me

>>> s = 'it's me'
>>> sFile "<ipython-input-34-9e8af72c0f6d>", line 1s = 'it's me'^
SyntaxError: invalid syntax

如果这样实现,编辑器就会报错,因为这个字符串是用单引号括起来的,若果中间又出现一个单引号,到底三个单引号中哪两个单引号构成一个字符串呢?这里面就出现了歧义,而计算机最怕的就是歧义。为了解决这种情况,我们就需要用到转义字符了。

上述语句加上转义字符就是

>>> s = 'it\'s me'
>>> s
"it's me"

上述是单引号,双引号同理:

>>> s = "使用\"创建字符串"
>>> s
'使用"创建字符串'

当然有些情况下不用转义字符也可以实现我们的需求,比如字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。举例如下:

>>> s = "it's me"
>>> s
"it's me">>> s = '使用"创建字符串'
>>> s
'使用"创建字符串'

但还是推荐使用转义字符,转义字符更具有通用性,也不需要我们去判断字符串中是否只有单引号或者双引号。

另外print() 函数会生成可读性更好的输出, 它会省去引号并且打印出转义后的特殊字符。见下边:

>>> s = '"Isn\'t a student." she said.'
>>> s
'"Isn\'t a student." she said.'
>>> print(s)
"Isn't a student." she said.>>> s = 'First line.\nSecond line.'  # \n means newline
>>> s  # without print(), \n is included in the output
'First line.\nSecond line.'
>>> print(s)  # with print(), \n produces a new line
First line.
Second line.

如果要在字符串里使用 \ ,即使得字符串中的\用作普通字符,那么就需要字符\本身也要转义,我们用\\表示,\\表示的字符就是\

>>> s = "换行符是\\n。"
>>> print(s)
换行符是\n。

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许在字符串前加r,表示内部的字符串默认不转义,见下边:

>>> s = r"换行符是\n。"
>>> print(s)
换行符是\n。

超详细总结:python的转义字符及用法相关推荐

  1. 详细记录python的range()函数用法

    详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的sl ...

  2. 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...

  3. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  4. 硬肝!超详细的Python文件操作知识

    来源:南枝向暖北枝寒MA https://blog.csdn.net/mall_lucy/article/details/104547365 [导语]:python进行文件操作,在日常编程中是很常用的 ...

  5. python操作json字符串,超详细的Python文件操作知识

    来自:CSDN,作者:南枝向暖北枝寒MA 链接:https://blog.csdn.net/mall_lucy/article/details/104547365 [导语]:python进行文件操作, ...

  6. 超详细解析python爬虫爬取京东图片

    超详细图片爬虫实战 实例讲解(京东商城手机图片爬取) 1.创建一个文件夹来存放你爬取的图片 2.第一部分代码分析 3.第二部分代码分析 完整的代码如下所示: 升级版代码: 爬取过程中首先你需要观察在手 ...

  7. python如何实现模拟登录_超详细的Python实现新浪微博模拟登陆(小白都能懂)

    最近由于需要一直在研究微博的爬虫,第一步便是模拟登陆,从开始摸索到走通模拟登陆这条路其实还是挺艰难的,需要一定的经验,为了让朋友们以后少走点弯路,这里我把我的分析过程和代码都附上来. 首先,我们先用正 ...

  8. 一个超详细的 Python 入门爬虫实战案例

    本文转自公众号:超哥的杂货铺 写在前面:本文从北京公交路线数据的获取和预处理入手,记录使用python中requests库获取数据,pandas库预处理数据的过程.文章在保证按照一定处理逻辑的前提下, ...

  9. 超详细的Python matplotlib 绘制柱状图

    复习回顾 Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对ma ...

  10. 超详细的Python中的字符串常识【赶紧收藏】

    今天我们说说字符串类型,涉及很多基础知识,不过字符串还是需要在多讲讲的. 回顾一下:字符串与长字符串 Python非常简单,并没有专门分出一个char(Character)类型(搞过C/Java的同学 ...

最新文章

  1. 收藏 | 10本免费的机器学习和数据科学书籍(附链接)
  2. linux 删除乱码文件
  3. 学习CAS实现SSO单点登录
  4. oracle sql文字列函数,Oracle 数据库SQL中 decode()函数简介
  5. js将百度坐标转为wgs84
  6. 在python中创建列表的最佳和/或最快方法
  7. js 高级 原型对象
  8. ktv点歌系统安卓_喜事汇KTV设备更新语音点歌系统,特推出一下优惠活动。转发朋友圈有惊喜。...
  9. 收据找不到怎么退押金_押金收据单不见了,能退押金吗,合同上有写押金多少的 - 找法网免费法律咨询...
  10. PTA题---求两个有序序列中位数所体现的思想。
  11. keras对MNIST数据集分类
  12. 大数据测试英语水平测试
  13. easyui treegrid实现的两种方式
  14. 《人月神话》(The Mythical Man-Month)2人和月可以互换吗?人月神话存在吗?
  15. Excel表格中数据比对和查找的几种技巧
  16. 科技周刊第三期:人脸识别技术给我们带来的便利和风险
  17. 提升自信心的十五个心理暗示法
  18. 用好 DIV 和 API,在前端系统中轻松嵌入数据分析模块
  19. 黑客攻学兼防(固顶)
  20. 关于SEGGER和Jlink下载的问题

热门文章

  1. orangepizero编译ch934x驱动
  2. linux修改网卡名称命令,linux修改网卡名称
  3. 电脑桌面计算机图标下不显示文字,为什么电脑桌面上的图标文下面没有显文字...
  4. 【基于物理的渲染(PBR)白皮书】(四)法线分布函数相关总结
  5. ant design vue 描述列表Descriptions数据绑定
  6. 第三方登陆--狸菇凉_
  7. defined()函数
  8. sublime去掉空行 sublime批量删除空白行
  9. qq账号绑定服务器地址,网站接入 QQ 登录整合社交账号登录 - 文章教程
  10. 拯救win10系统,如何开机进入DOS等删除恶意软件