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实现ftp客户端示例分享
Feb 17 Python
详解Python 数据库 (sqlite3)应用
Dec 07 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
python中实现k-means聚类算法详解
Nov 11 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
python操作gitlab API过程解析
Dec 27 Python
Django admin管理工具TabularInline类用法详解
May 14 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
基于PyTorch中view的用法说明
Mar 03 Python
教你用python控制安卓手机
May 13 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
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
土木工程应届生自荐信
2013/09/24 职场文书
质量工程师岗位职责
2013/11/16 职场文书
仓库组长岗位职责
2014/01/29 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
个人自我剖析材料
2014/09/30 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
2016年十一促销广告语
2016/01/28 职场文书