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'
this is a' book
要顯示多少次「」就要對「」進行多少次轉義:
>>> s='this is a\\' book'
this is a\' book
同樣,想在雙引號包圍的字串中顯示「"」也要分別對「」和「"」進行轉義。
>>> s="this is a\" book"
this is a" book
說到這裡,有必要談一談字符串中“'”和“"”的替換問題,也即字串本身是包含這樣的子字串的,例如:
>>> s='this is a\' book'
>>> s
"this is a\' book"
this is a' book
這裡的字串中包含「'」這樣一個子字串,現在想把這個子字串替換為「@@@」
>>> s=s.replace('\ '','@@@')
>>> s
'this is a@@@ book'
this is a@@@ book
也即在書寫中將被替換的子串時,也需對特殊的字符進行轉義,s=s.replace('\'','@@@')中經轉義後,最終的字符串中將被替換掉的子串為“' ”.
雙引號中含有特殊字符的子串的替換遵循同樣的原理。
另外需要注意的是,想要知道字符串最終的樣子則應當使用print函數將其打印出來,以免混淆。
>>> s='this is a\' book'
>>> s
"this is a\' book"
this is a' book
以上這篇python字符串中的這篇python字符串中的這篇單雙引就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。