一篇文章搞懂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网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
关于python的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
Django框架实现的普通登录案例【使用POST方法】
May 15 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 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中全局变量global的使用演示代码
2011/05/18 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
php实现mysql封装类示例
2014/05/07 PHP
PHP数组操作类实例
2015/07/11 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
Python translator使用实例
2008/09/06 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python程序运行原理图文解析
2018/02/10 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
python实现视频分帧效果
2019/05/31 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
Django models.py应用实现过程详解
2019/07/29 Python
如何用Python 加密文件
2020/09/10 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
中层干部岗位职责
2013/12/18 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
学习心理学心得体会
2016/01/22 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
Go遍历struct,map,slice的实现
2021/06/13 Golang