首頁  >  文章  >  後端開發  >  python字串中的單雙引

python字串中的單雙引

高洛峰
高洛峰原創
2017-02-18 10:05:451340瀏覽

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'

>>> 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字符串中的這篇單雙引就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn