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字符串中的單雙引就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答