一篇文章搞懂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 os模块介绍
Nov 30 Python
Python 基础知识之字符串处理
Jan 06 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
python 数据的清理行为实例详解
Jul 12 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 Python
Python Requests库基本用法示例
Aug 20 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
在django中自定义字段Field详解
Dec 03 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
python基于socket函数实现端口扫描
May 28 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
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
php中错误处理操作实例分析
2019/08/23 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
使用js实现数据格式化
2014/12/03 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
vue双向绑定及观察者模式详解
2019/03/19 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
js实现开关灯效果
2020/03/30 Javascript
pyside写ui界面入门示例
2014/01/22 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
深入理解Python变量与常量
2016/06/02 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
python实现四人制扑克牌游戏
2020/04/22 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
如何安装ruby on rails
2014/02/09 面试题
造价工程师个人求职信
2013/09/21 职场文书
学生手册评语
2014/05/05 职场文书
卫生标语大全
2014/06/21 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
优秀团员自我评价
2015/03/10 职场文书
天河观后感
2015/06/11 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs