首页 > 编程 > Python > 正文

python字符串中的单双引

2020-02-23 04:22:09
字体:
来源:转载
供稿:网友

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字符串中的单双引就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表