更新時(shí)間:2021-07-27 來(lái)源:黑馬程序員 瀏覽量:
其實(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)有很多種,接下來(lái),通過(guò)一張表來(lái)列舉,如表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 | 換頁(yè) |
\oyy | 八進(jìn)制數(shù),yy代表的字符,例如:\o12代表?yè)Q行 |
\xyy | 十六進(jìn)制數(shù),yy代表的字符,例如:\x0a代表?yè)Q行 |
\other | 其他的字符以普通格式輸出 |
print('E\nglish')運(yùn)行代碼,結(jié)果如下所示:
E glish添加原始字符串r,具體代碼如下所示:
print(r'E\nglish')運(yùn)行代碼,結(jié)果如下所示:
E\nglish
Python如何截取字符串中的一段字符?【python培訓(xùn)】