一篇文章搞懂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 splitlines使用技巧
Sep 06 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
python 操作hive pyhs2方式
Dec 21 Python
python如何使用Redis构建分布式锁
Jan 16 Python
python如何通过pyqt5实现进度条
Jan 20 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 01 Python
pandas数据拼接的实现示例
Apr 16 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
程序员编程十条戒律
2009/07/09 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
javascript 写类方式之二
2009/07/05 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
python批量修改图片大小的方法
2018/07/24 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
自我鉴定写作要点
2014/01/17 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
计算机专业求职信
2014/06/02 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
go xorm框架的使用
2021/05/22 Golang
apache ftpserver搭建ftp服务器
2022/05/20 Servers