官术网_书友最值得收藏!

1.3.6 字符串及其基本操作

1-6 字符串及其基本操作

字符串(String)就是若干個(gè)字符的集合,Python中的字符串必須由雙引號(hào)("")或者單引號(hào)(' ')包圍,其雙引號(hào)和單引號(hào)沒有任何區(qū)別,具體格式為:

字符串的內(nèi)容可以包含字母、標(biāo)點(diǎn)、特殊符號(hào)、中文、日文、韓文等全世界的所有文字。

下面都是合法的字符串:

1.處理字符串中的引號(hào)

當(dāng)字符串內(nèi)容中出現(xiàn)引號(hào)時(shí),用戶需要進(jìn)行特殊處理,否則Python會(huì)解析出錯(cuò),例如:

由于上面字符串中包含了單引號(hào),此時(shí)Python會(huì)將字符串中的單引號(hào)與第一個(gè)單引號(hào)配對(duì),這樣就會(huì)把'I'當(dāng)成字符串,而后面的m a great coder!'就變成了多余的內(nèi)容,從而導(dǎo)致語法錯(cuò)誤。

對(duì)于這種情況,一般有以下兩種處理方案。

(1)對(duì)引號(hào)進(jìn)行轉(zhuǎn)義

在引號(hào)前面添加反斜杠“\”就可以對(duì)引號(hào)進(jìn)行轉(zhuǎn)義,讓Python把它作為普通文本對(duì)待。

【例1-14】 反斜杠“\”的使用。

運(yùn)算結(jié)果:

(2)使用不同的引號(hào)包圍字符串

如果字符串內(nèi)容中出現(xiàn)了單引號(hào),那么可以使用雙引號(hào)包圍字符串,反之亦然。

【例1-15】 使用不同的引號(hào)包圍字符串。

運(yùn)算結(jié)果:

2.字符串的換行

Python不是格式自由的語言,它對(duì)程序的換行、縮進(jìn)都有嚴(yán)格的語法要求。要想換行書寫一個(gè)比較長(zhǎng)的字符串,必須在行尾添加反斜杠“\”。Python也支持表達(dá)式添加反斜杠“\”的換行。

3.長(zhǎng)字符串

Python長(zhǎng)字符串由三個(gè)雙引號(hào)(""")或者3個(gè)單引號(hào)(''')包圍,語法格式如下:

在長(zhǎng)字符串中放置單引號(hào)或者雙引號(hào)不會(huì)導(dǎo)致解析錯(cuò)誤。

4.轉(zhuǎn)義字符

對(duì)于ASCII編碼來說,0~31(十進(jìn)制)范圍內(nèi)的字符為控制字符,它們都是看不見的,不能在顯示器上顯示,甚至無法從鍵盤輸入,只能用轉(zhuǎn)義字符的形式來表示。不過直接使用ASCII碼記憶不方便,也不容易理解,所以針對(duì)常用的控制字符,Python語言定義了轉(zhuǎn)義字符方式,如表1-2所示。

表1-2 Python支持的轉(zhuǎn)義字符

轉(zhuǎn)義字符在書寫形式上由多個(gè)字符組成,但Python將它們看作是一個(gè)整體,表示一個(gè)字符。

【例1-16】 使用轉(zhuǎn)義字符來打印表格。

運(yùn)算結(jié)果:

此外,轉(zhuǎn)義字符以“\0”或者“\x”開頭的表示編碼值,前者表示跟八進(jìn)制形式的編碼值,后者表示跟十六進(jìn)制形式的編碼值,具體格式如下:

式中,dd表示八進(jìn)制數(shù)字,hh表示十六進(jìn)制數(shù)字。由于ASCII編碼共收錄了128個(gè)字符,\0和\x后面最多只能跟兩位數(shù)字,所以八進(jìn)制形式\0并不能表示所有的ASCII字符,只有十六進(jìn)制形式\x才能表示所有ASCII字符。

【例1-17】 使用八進(jìn)制、十六進(jìn)制來顯示ASCII碼。

運(yùn)算結(jié)果:

從例中可以看出,字符4、5、6對(duì)應(yīng)的ASCII碼八進(jìn)制形式分別是64、65、66,字符B、D、F、H、J、L的十六進(jìn)制形式分別是42、44、46、48、4A、4C。

主站蜘蛛池模板: 喀什市| 安阳县| 密云县| 云梦县| 南昌市| 婺源县| 吉林市| 湖口县| 绥棱县| 从化市| 天镇县| 晋城| 江都市| 二手房| 望奎县| 石家庄市| 衡东县| 云浮市| 林芝县| 屯昌县| 静乐县| 镇宁| 壤塘县| 汽车| 仪陇县| 宁海县| 岳池县| 同德县| 辽宁省| 炎陵县| 新竹县| 灵台县| 永修县| 玉田县| 凤山市| 寻乌县| 长泰县| 久治县| 苍山县| 凯里市| 浑源县|