一篇文章搞懂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 冒泡,选择,插入排序使用实例
Feb 05 Python
python计算文本文件行数的方法
Jul 06 Python
python去除字符串中的换行符
Oct 11 Python
Python实现基于POS算法的区块链
Aug 07 Python
python 顺时针打印矩阵的超简洁代码
Nov 14 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
使用Pytorch来拟合函数方式
Jan 14 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
什么是Python变量作用域
Jun 03 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 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
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
node事件循环和process模块实例分析
2020/02/14 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
分享15个最受欢迎的Python开源框架
2014/07/13 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
土木工程专业大学毕业生求职信
2013/10/13 职场文书
生产管理的三大手法
2013/11/11 职场文书
实习生自荐信范文
2013/11/13 职场文书
九年级历史教学反思
2014/01/27 职场文书
运动员获奖感言
2014/08/15 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
2016年十一促销广告语
2016/01/28 职场文书