一篇文章搞懂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 中的列表解析和生成表达式
Mar 10 Python
使用grappelli为django admin后台添加模板
Nov 18 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
python识别图像并提取文字的实现方法
Jun 28 Python
python 获取等间隔的数组实例
Jul 04 Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
Python列表倒序输出及其效率详解
Mar 04 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
pytorch 实现变分自动编码器的操作
May 24 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
php绘制一个矩形的方法
2015/01/24 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
java字符串格式化输出实例讲解
2021/01/06 Python
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
工作经历证明范本
2015/06/15 职场文书
初三毕业感言
2015/07/31 职场文书
厉行节约工作总结
2015/08/12 职场文书
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android