python字符串中的单双引


Posted in Python onFebruary 16, 2017

python中字符串可以(且仅可以)使用成对的单引号、双引号、三个双引号(文档字符串)包围:

'this is a book'
 "this is a book"
"""this is a book"""

可在单引号包围的字符串中包含双引号,三引号等,但不能包含单引号自身(需转义)

'this is a" book'
'this is a"" book'
'this is a""" book'
'this is a\' book'

也可多单引号中的双引号转义,但通常没什么必要和意义

'this is a\" book'

同理,双引号中可包含单引号,但不能包含双引号以及由双引号构成的三引号

"this is a' book"
"this is a\" book"

也可对双引号中的单引号进行转义,但同样,这通常没有必要也没有意义

"this is a\' book"

现在还有一个问题,如果我想在单引号包围的字符串中显示“\'”呢,答案是分别对“\”和“'”进行转义,也即要想在字符串中显示“\”这个特殊字符,需对特殊字符本身进行转义,其他特殊字符类似。

>>> s='this is a\' book'
>>> print s
this is a' book

>>> s='this is a\\\' book'
>>> print s
this is a\' book

要显示多少次“\”就要对“\”进行多少次转义:

>>> s='this is a\\\\\' book'
>>> print s
this is a\\' book

同样,想在双引号包围的字符串中显示“\"”也要分别对“\”和“"”进行转义。

>>> s="this is a\\\" book"
>>> print s
this is a\" book

说到这里,有必要谈一谈字符串中“\'”和“\"”的替换问题,也即字符串本身是包含这样的子串的,比如:

>>> s='this is a\\\' book'
>>> s
"this is a\\' book"
>>> print s
this is a\' book

这里的字符串中包含“\'”这样一个子串,现在想把这个子串替换为“@@@”
>>> s=s.replace('\\\'','@@@')
>>> s
'this is a@@@ book'
>>> print s
this is a@@@ book

也即在书写将被替换的子串时,也需对特殊的字符进行转义,s=s.replace('\\\'','@@@')中经转义后,最终的字符串中将被替换掉的子串为“\'”.

双引号中含有特殊字符的子串的替换遵循同样的原理。

另外需要注意的是,想要知道字符串最终的样子则应当使用print函数将其打印出来,以免混淆。

>>> s='this is a\\\' book'
>>> s
"this is a\\' book"
>>> print s
this is a\' book

以上这篇python字符串中的单双引就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详细介绍Python的鸭子类型
Sep 12 Python
python先序遍历二叉树问题
Nov 10 Python
浅谈flask中的before_request与after_request
Jan 20 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
远程部署工具Fabric详解(支持Python3)
Jul 04 Python
Python批量修改图片分辨率的实例代码
Jul 04 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 Python
使用PyV8在Python爬虫中执行js代码
Feb 16 #Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 #Python
Python变量和数据类型详解
Feb 15 #Python
Django学习笔记之Class-Based-View
Feb 15 #Python
关于Python面向对象编程的知识点总结
Feb 14 #Python
Django日志模块logging的配置详解
Feb 14 #Python
深入理解Python对Json的解析
Feb 14 #Python
You might like
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
php实现留言板功能
2017/03/05 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
JS实现选项卡效果的代码实例
2019/05/20 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
详解在Python程序中自定义异常的方法
2015/10/16 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
What is view? why do we have view?
2012/06/22 面试题
Linux的主要特性
2016/09/03 面试题
党员党性分析材料
2014/02/17 职场文书
改革共识倡议书
2014/08/29 职场文书
2014年幼师工作总结
2014/11/22 职场文书
2015年检验科工作总结
2015/04/27 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python