首頁技術(shù)文章正文

怎樣添加和使用轉(zhuǎn)義字符?

更新時(shí)間:2021-07-27 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

其實(shí),不管使用單引號(hào)還是使用雙引號(hào)包含,使用print輸出字符串的時(shí)候,值都是一樣的。至于為什么兩種情況都可以表示字符串,是因?yàn)槟承┣闆r下它們會(huì)派上用場(chǎng),例如下面的代碼:

print("let's go!")
print('"Nice to meet you ! "he said')
運(yùn)行代碼,結(jié)果如下所示:
let's go!
"Nice to meet you! "he said
上面的代碼中,第1行代碼的字符串內(nèi)容中有單引號(hào),所以要使用雙引號(hào)包含。而第2行代碼的字符串內(nèi)容中有雙引號(hào),所以要使用單引號(hào)包含。如果不這么做,當(dāng)解釋器在根據(jù)單引號(hào)或者雙引號(hào)辨別字符串的結(jié)束符時(shí),難免會(huì)發(fā)生錯(cuò)誤。例如,下面的代碼就會(huì)報(bào)錯(cuò):
 print('let's go! go')
運(yùn)行代碼,結(jié)果如下所示:
  File "<input>", line 1
    print('let's go! go')
               ^
SyntaxError: invalid syntax
當(dāng)然,對(duì)于單引號(hào)或者雙引號(hào)這些特殊的符號(hào),我們可以對(duì)它們進(jìn)行轉(zhuǎn)義,例如,對(duì)字符串中的單引號(hào)進(jìn)行轉(zhuǎn)義,示例代碼如下:
 print('let\'s go! go')
運(yùn)行代碼,結(jié)果如下所示:
let's go! go
上述代碼中,使用斜線的方式,對(duì)單引號(hào)進(jìn)行了轉(zhuǎn)義,這樣當(dāng)解釋器遇到這個(gè)轉(zhuǎn)義字符的時(shí)候,會(huì)明白這不是字符串的結(jié)束標(biāo)記。而像這樣的轉(zhuǎn)義符號(hào)有很多種,接下來,通過一張表來列舉,如表1所示。

表1 轉(zhuǎn)義字符號(hào)

轉(zhuǎn)義字符代表含義
\(在行尾時(shí))                           反斜杠符號(hào)                                                                     
\反斜杠符號(hào)
\"雙引號(hào)
\b退格(Backspace)
\e轉(zhuǎn)義
\000
\n換行
\v縱向制表符
\t橫向制表符
\r回車
\f換頁
\oyy八進(jìn)制數(shù),yy代表的字符,例如:\o12代表換行
\xyy十六進(jìn)制數(shù),yy代表的字符,例如:\x0a代表換行
\other其他的字符以普通格式輸出

當(dāng)然,如果你不想使用反斜杠(\)轉(zhuǎn)義特殊字符,可以在字符串前面添加一個(gè)r,表示原始字符串,示例代碼如下:
 print('E\nglish')
運(yùn)行代碼,結(jié)果如下所示:
E
glish
添加原始字符串r,具體代碼如下所示:
print(r'E\nglish')
運(yùn)行代碼,結(jié)果如下所示:
E\nglish






猜你喜歡:

Python如何截取字符串中的一段字符?【python培訓(xùn)】

Python字符串前綴U和R的區(qū)別

Python怎樣向文件中寫入數(shù)據(jù)和字符串序列?

黑馬程序員python+大數(shù)據(jù)開發(fā)培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!