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字符串中的單雙引就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
