這篇文章主要介紹了Python字符串的示例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出樂(lè)都免費(fèi)做網(wǎng)站回饋大家。
簡(jiǎn)單地理解,字符串就是“一串字符”,也就是用引號(hào)內(nèi)的任何數(shù)據(jù),比如“Hello,Charlie”是一個(gè)字符串,“How are you?”也是一個(gè)字符串。
Python要求,字符串必須使用引號(hào)括起來(lái),可以使用單引號(hào)或者雙引號(hào),只要成對(duì)即可。字符串中的內(nèi)容幾乎可以包含任何字符,英文字符也行,中文字符也行。
Python 3.x 對(duì)中文字符支持較好,但 Python 2.x 則要求在源程序中增加“#coding:utf-8”才能支持中文字符。
至于字符串是用單引號(hào)括起來(lái),還是用雙引號(hào)括起來(lái),在 Python 語(yǔ)言中,它們沒(méi)有任何區(qū)別。比如說(shuō):
str1 = 'c.biancheng.net' str2 = "C語(yǔ)言中文網(wǎng)" print(str1) print(str2)
但需要說(shuō)明的是,Python 有時(shí)候沒(méi)有我們期望的那么聰明。如果字符串內(nèi)容本身包含了單引號(hào)或雙引號(hào),此時(shí)就需要進(jìn)行特殊處理:使用不同的引號(hào)將字符串括起來(lái)。對(duì)引號(hào)進(jìn)行轉(zhuǎn)義。
先看第一種處理方式。假如字符串內(nèi)容中包含了單引號(hào),則可以使用雙引號(hào)將字符串括起來(lái)。例如:
str3 = 'I'm a coder'
由于上面字符串中包含了單引號(hào),此時(shí) Python 會(huì)將字符串中的單引號(hào)與第一個(gè)單引號(hào)配對(duì),這樣就會(huì)把 'I' 當(dāng)成字符串,而后面的 m a coder' 就變成了多余的內(nèi)容,從而導(dǎo)致語(yǔ)法錯(cuò)誤。
為了避免這種問(wèn)題,可以將上面代碼改為如下形式:
str3 = "I'm a coder"
上面代碼使用雙引號(hào)將字符串括起來(lái),此時(shí) Python 就會(huì)把字符串中的單引號(hào)當(dāng)成字符串內(nèi)容,而不是和字符串開(kāi)始的引號(hào)配對(duì)。
假如字符串內(nèi)容本身包含雙引號(hào),則可使用單引號(hào)將字有串括起來(lái),例如如下代碼:
str4 = '"Spring is here,let us jam!", said woodchuck.'
接下來(lái)看第二種處理方式:使用轉(zhuǎn)義字符。Python 允許使用反斜線(\)將字符串中的特殊字符進(jìn)行轉(zhuǎn)義。假如字符串既包含單引號(hào),又包含雙引號(hào),此時(shí)就可以使用轉(zhuǎn)義字符,例如:
str5 = '"we are scared,Let\'s hide in the shade",says the bird'
通過(guò)使用轉(zhuǎn)義字符,向 Python 解釋器表明了此單引號(hào)并不是和最前面的單引號(hào)進(jìn)行配對(duì)的另一半,從而避免了發(fā)生語(yǔ)法錯(cuò)誤。
此外,Python 不是格式自由的語(yǔ)言,它對(duì)程序的換行、縮進(jìn)都有其規(guī)定的語(yǔ)法。Python 允許使用轉(zhuǎn)義字符(\)對(duì)換行符進(jìn)行轉(zhuǎn)義,轉(zhuǎn)義之后的換行符不會(huì)“中斷”字符串。例如:
s2 = 'The quick brown fox \ jumps over the lazy dog' print(s2)
上面 s2 字符串的內(nèi)容較長(zhǎng),故程序使用了轉(zhuǎn)義字符(\)對(duì)內(nèi)容進(jìn)行了轉(zhuǎn)義,這樣就可以把一個(gè)字符串寫成兩行。
同樣的,Python 的表達(dá)式也不允許隨便換行。但如果程序需要對(duì) Python 表達(dá)式換行,就需要使用轉(zhuǎn)義字符(\),例如:
num = 20 + 3 / 4 + \ 2 * 3 print(num)
Python長(zhǎng)字符串
前面介紹 Python 多行注釋時(shí),提到使用三個(gè)引號(hào)(單引號(hào)、雙引號(hào)都行)來(lái)包含多行注釋內(nèi)容,其實(shí)這是長(zhǎng)字符串的寫法,只是由于在長(zhǎng)字符串中可以放置任何內(nèi)容,包括放置單引號(hào)、雙引號(hào)都可以,如果所定義的長(zhǎng)字符串沒(méi)有賦值給任何變量,那么這個(gè)字符串就相當(dāng)于被解釋器忽略了,也就相當(dāng)于注釋掉了。
實(shí)際上,使用三個(gè)引號(hào)括起來(lái)的長(zhǎng)字符串完全可以賦值給變量,例如如下程序:
s = '''"Let's go fishing", said Mary. "OK, Let's go", said her brother. they walked to a lake''' print(s)
上面程序使用三個(gè)引號(hào)定義了長(zhǎng)字符串,該長(zhǎng)字符串中既可包含單引號(hào),也可包含雙引號(hào)。
當(dāng)程序中有大段文本內(nèi)容要定義成字符串時(shí),優(yōu)先推薦使用長(zhǎng)字符串形式,因?yàn)檫@種形式非常強(qiáng)大,可以讓字符串中包含任何內(nèi)容,既可包含單引號(hào),也可包含雙引號(hào)。
Python原始字符串
由于字符串中的反斜線都有特殊的作用,因此當(dāng)字符串中包含反斜線時(shí),就需要使用轉(zhuǎn)義字符 \ 對(duì)字符串中包含的每個(gè) '\' 進(jìn)行轉(zhuǎn)義。
比如說(shuō),我們要寫一個(gè)關(guān)于 Windows 路徑 G:\publish\codes\02\2.4 這樣的字符串,如果在 Python 程序中直接這樣寫肯定是不行的,需要使用 \ 轉(zhuǎn)義字符,對(duì)字符串中每個(gè) '\' 進(jìn)行轉(zhuǎn)義,即寫成 G:\\publish\\codes\\02\\2.4 這種形式才行。
有沒(méi)有覺(jué)得這種寫法很啰嗦,有沒(méi)有更好的解決辦法呢?答案是肯定的,借助于原始字符串可以很好地解決這個(gè)問(wèn)題。
原始字符串以“r”開(kāi)頭,它不會(huì)把反斜線當(dāng)成特殊字符。因此,上面的 Windows 路徑可直接寫成如下這種形式:
s1 = r'G:\publish\codes\02\2.4' print(s1)
如果原始字符串中包含引號(hào),程序同樣需要對(duì)引號(hào)進(jìn)行轉(zhuǎn)義(否則 Python 同樣無(wú)法對(duì)字符串的引號(hào)精確配對(duì)),但此時(shí)用于轉(zhuǎn)義的反斜線會(huì)變成字符串的一部分。
例如如下代碼:
# 原始字符串包含的引號(hào),同樣需要轉(zhuǎn)義
s2 = r'"Let\'s go", said Charlie' print(s2)
上面代碼會(huì)生成如下輸出結(jié)果:
"Let\'s go", said Charlie
由于原始字符串中的反斜線會(huì)對(duì)引號(hào)進(jìn)行轉(zhuǎn)義,因此原始字符串的結(jié)尾處不能是反斜線,否則字符串結(jié)尾處的引號(hào)會(huì)被轉(zhuǎn)義,導(dǎo)致字符串不能正確結(jié)束。
如果確實(shí)要在原始字符串的結(jié)尾處添加反斜線怎么辦呢?一種方式是不要使用原始字符串,而是改為使用長(zhǎng)字符串寫法(三引號(hào)字符串);另一種方式就是將反斜線單獨(dú)寫。
例如如下代碼:
s3 = r'Good Morning' '\\' print(s3)
上面代碼開(kāi)始寫了一個(gè)原始字符串 r'Good Morning',緊接著程序使用 '\\' 寫了一個(gè)包含反斜線的字符串,Python 會(huì)自動(dòng)將這兩個(gè)字符串拼接在一起。運(yùn)行上面代碼會(huì)生成如下輸出結(jié)果:
Good Morning\
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Python字符串的示例分析內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!