python字符串中的单双引
python中字符串可以(且仅可以)使用成对的单引号、双引号、三个双引号(文档字符串)包围:
'thisisabook'
"thisisabook"
"""thisisabook"""
可在单引号包围的字符串中包含双引号,三引号等,但不能包含单引号自身(需转义)
'thisisa"book'
'thisisa""book'
'thisisa"""book'
'thisisa\'book'
也可多单引号中的双引号转义,但通常没什么必要和意义
'thisisa\"book'
同理,双引号中可包含单引号,但不能包含双引号以及由双引号构成的三引号
"thisisa'book"
"thisisa\"book"
也可对双引号中的单引号进行转义,但同样,这通常没有必要也没有意义
"thisisa\'book"
现在还有一个问题,如果我想在单引号包围的字符串中显示“\'”呢,答案是分别对“\”和“'”进行转义,也即要想在字符串中显示“\”这个特殊字符,需对特殊字符本身进行转义,其他特殊字符类似。
>>>s='thisisa\'book'
>>>prints
thisisa'book
>>>s='thisisa\\\'book'
>>>prints
thisisa\'book
要显示多少次“\”就要对“\”进行多少次转义:
>>>s='thisisa\\\\\'book'
>>>prints
thisisa\\'book
同样,想在双引号包围的字符串中显示“\"”也要分别对“\”和“"”进行转义。
>>>s="thisisa\\\"book"
>>>prints
thisisa\"book
说到这里,有必要谈一谈字符串中“\'”和“\"”的替换问题,也即字符串本身是包含这样的子串的,比如:
>>>s='thisisa\\\'book'
>>>s
"thisisa\\'book"
>>>prints
thisisa\'book
这里的字符串中包含“\'”这样一个子串,现在想把这个子串替换为“@@@”
>>>s=s.replace('\\\'','@@@')
>>>s
'thisisa@@@book'
>>>prints
thisisa@@@book
也即在书写将被替换的子串时,也需对特殊的字符进行转义,s=s.replace('\\\'','@@@')中经转义后,最终的字符串中将被替换掉的子串为“\'”.
双引号中含有特殊字符的子串的替换遵循同样的原理。
另外需要注意的是,想要知道字符串最终的样子则应当使用print函数将其打印出来,以免混淆。
>>>s='thisisa\\\'book'
>>>s
"thisisa\\'book"
>>>prints
thisisa\'book
以上这篇python字符串中的单双引就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。