一篇文章搞懂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 + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python实现的自定义多线程多进程类示例
Mar 23 Python
python实现搜索文本文件内容脚本
Jun 22 Python
Python get获取页面cookie代码实例
Sep 12 Python
Python清空文件并替换内容的实例
Oct 22 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
python Gunicorn服务器使用方法详解
Jul 22 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
Python控制鼠标键盘代码实例
Dec 08 Python
python中Matplotlib绘制直线的实例代码
Jul 04 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获取当前页面完整URL的实现代码
2013/06/10 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
go和python调用其它程序并得到程序输出
2014/02/10 Python
python中stdout输出不缓存的设置方法
2014/05/29 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
python deque模块简单使用代码实例
2020/03/12 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
人事行政专员岗位职责
2014/07/23 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
出生医学证明书
2014/09/15 职场文书
社保转移委托书范本
2014/10/08 职场文书
离职报告范文
2014/11/04 职场文书
捐款感谢信
2015/01/20 职场文书
python标准库ElementTree处理xml
2022/05/20 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript