- Python編程基礎(chǔ)與應(yīng)用
- 李方園主編
- 1010字
- 2021-10-27 16:38:18
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。
- 深入理解Bootstrap
- 從0到1:Python數(shù)據(jù)分析
- 微信小程序入門指南
- MySQL從入門到精通(軟件開發(fā)視頻大講堂)
- Azure Serverless Computing Cookbook
- Deep Learning with R Cookbook
- Drupal Search Engine Optimization
- Wearable:Tech Projects with the Raspberry Pi Zero
- 從零開始學(xué)Unity游戲開發(fā):場(chǎng)景+角色+腳本+交互+體驗(yàn)+效果+發(fā)布
- Implementing Domain:Specific Languages with Xtext and Xtend
- 機(jī)器人ROS開發(fā)實(shí)踐
- Hands-On Game Development Patterns with Unity 2019
- Expert Angular
- 軟件工程實(shí)用教程 (第3版)
- Hadoop MapReduce v2 Cookbook(Second Edition)