详解python字符串中引号单双之异同

Y2J
发布: 2017-05-09 14:03:18
原创
1427 人浏览过

下面小编就为大家带来一篇python字符串中的单双引。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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
登录后复制
登录后复制

【相关推荐】

1. Python免费视频教程

2. Python面向对象视频教程

3. Python学习手册

以上是详解python字符串中引号单双之异同的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板