一篇文章搞懂python的转义字符及用法


Posted in Python onSeptember 03, 2020

什么是转义字符

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

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

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

一篇文章搞懂python的转义字符及用法

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

>>> s = 'it's me'
>>> s
 File "<ipython-input-34-9e8af72c0f6d>", line 1
  s = '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的转义字符及用法的文章就介绍到这了,更多相关python 转义字符内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中__call__内置函数用法实例
Jun 04 Python
Python对数据库操作
Mar 28 Python
python验证码识别的示例代码
Sep 21 Python
Python格式化输出%s和%d
May 07 Python
Django 连接sql server数据库的方法
Jun 30 Python
Python和Go语言的区别总结
Feb 20 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
Django实现文件上传和下载功能
Oct 06 Python
Python动态声明变量赋值代码实例
Dec 30 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
容易被忽略的Python内置类型
Sep 03 #Python
python类共享变量操作
Sep 03 #Python
Python pip install之SSL异常处理操作
Sep 03 #Python
详解python tkinter 图片插入问题
Sep 03 #Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 #Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 #Python
python开发入门——set的使用
Sep 03 #Python
You might like
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
js里面的变量范围分享
2020/07/18 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
大学生毕业自我鉴定
2013/11/06 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
综合内勤岗位职责
2014/04/14 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
周末问候语大全
2015/11/10 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书