溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python字符串的示例分析

發(fā)布時間:2020-11-23 11:39:55 來源:億速云 閱讀:225 作者:小新 欄目:編程語言

這篇文章主要介紹了Python字符串的示例分析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

簡單地理解,字符串就是“一串字符”,也就是用引號內的任何數據,比如“Hello,Charlie”是一個字符串,“How are you?”也是一個字符串。
Python要求,字符串必須使用引號括起來,可以使用單引號或者雙引號,只要成對即可。字符串中的內容幾乎可以包含任何字符,英文字符也行,中文字符也行。

Python 3.x 對中文字符支持較好,但 Python 2.x 則要求在源程序中增加“#coding:utf-8”才能支持中文字符。

至于字符串是用單引號括起來,還是用雙引號括起來,在 Python 語言中,它們沒有任何區(qū)別。比如說:

str1 = 'c.biancheng.net'
str2 = "C語言中文網"
print(str1)
print(str2)

但需要說明的是,Python 有時候沒有我們期望的那么聰明。如果字符串內容本身包含了單引號或雙引號,此時就需要進行特殊處理:使用不同的引號將字符串括起來。對引號進行轉義。

先看第一種處理方式。假如字符串內容中包含了單引號,則可以使用雙引號將字符串括起來。例如:

str3 = 'I'm a coder'

由于上面字符串中包含了單引號,此時 Python 會將字符串中的單引號與第一個單引號配對,這樣就會把 'I' 當成字符串,而后面的 m a coder' 就變成了多余的內容,從而導致語法錯誤。

為了避免這種問題,可以將上面代碼改為如下形式:

str3 = "I'm a coder"

上面代碼使用雙引號將字符串括起來,此時 Python 就會把字符串中的單引號當成字符串內容,而不是和字符串開始的引號配對。

假如字符串內容本身包含雙引號,則可使用單引號將字有串括起來,例如如下代碼:

str4 = '"Spring is here,let us jam!", said woodchuck.'

接下來看第二種處理方式:使用轉義字符。Python 允許使用反斜線(\)將字符串中的特殊字符進行轉義。假如字符串既包含單引號,又包含雙引號,此時就可以使用轉義字符,例如:

str5 = '"we are scared,Let\'s hide in the shade",says the bird'

通過使用轉義字符,向 Python 解釋器表明了此單引號并不是和最前面的單引號進行配對的另一半,從而避免了發(fā)生語法錯誤。 

此外,Python 不是格式自由的語言,它對程序的換行、縮進都有其規(guī)定的語法。Python 允許使用轉義字符(\)對換行符進行轉義,轉義之后的換行符不會“中斷”字符串。例如:

s2 = 'The quick brown fox \
jumps over the lazy dog'
print(s2)

上面 s2 字符串的內容較長,故程序使用了轉義字符(\)對內容進行了轉義,這樣就可以把一個字符串寫成兩行。

同樣的,Python 的表達式也不允許隨便換行。但如果程序需要對 Python 表達式換行,就需要使用轉義字符(\),例如:

num = 20 + 3 / 4 + \
    2 * 3
print(num)

Python長字符串

前面介紹 Python 多行注釋時,提到使用三個引號(單引號、雙引號都行)來包含多行注釋內容,其實這是長字符串的寫法,只是由于在長字符串中可以放置任何內容,包括放置單引號、雙引號都可以,如果所定義的長字符串沒有賦值給任何變量,那么這個字符串就相當于被解釋器忽略了,也就相當于注釋掉了。

實際上,使用三個引號括起來的長字符串完全可以賦值給變量,例如如下程序:

s = '''"Let's go fishing", said Mary.
"OK, Let's go", said her brother.
they walked to a lake'''
print(s)

上面程序使用三個引號定義了長字符串,該長字符串中既可包含單引號,也可包含雙引號。

當程序中有大段文本內容要定義成字符串時,優(yōu)先推薦使用長字符串形式,因為這種形式非常強大,可以讓字符串中包含任何內容,既可包含單引號,也可包含雙引號。

Python原始字符串

由于字符串中的反斜線都有特殊的作用,因此當字符串中包含反斜線時,就需要使用轉義字符 \ 對字符串中包含的每個 '\' 進行轉義。

比如說,我們要寫一個關于 Windows 路徑 G:\publish\codes\02\2.4 這樣的字符串,如果在 Python 程序中直接這樣寫肯定是不行的,需要使用 \ 轉義字符,對字符串中每個 '\' 進行轉義,即寫成 G:\\publish\\codes\\02\\2.4 這種形式才行。

有沒有覺得這種寫法很啰嗦,有沒有更好的解決辦法呢?答案是肯定的,借助于原始字符串可以很好地解決這個問題。

原始字符串以“r”開頭,它不會把反斜線當成特殊字符。因此,上面的 Windows 路徑可直接寫成如下這種形式:

s1 = r'G:\publish\codes\02\2.4'
print(s1)

如果原始字符串中包含引號,程序同樣需要對引號進行轉義(否則 Python 同樣無法對字符串的引號精確配對),但此時用于轉義的反斜線會變成字符串的一部分。

例如如下代碼:

# 原始字符串包含的引號,同樣需要轉義

s2 = r'"Let\'s go", said Charlie'
print(s2)

上面代碼會生成如下輸出結果:

"Let\'s go", said Charlie

由于原始字符串中的反斜線會對引號進行轉義,因此原始字符串的結尾處不能是反斜線,否則字符串結尾處的引號會被轉義,導致字符串不能正確結束。

如果確實要在原始字符串的結尾處添加反斜線怎么辦呢?一種方式是不要使用原始字符串,而是改為使用長字符串寫法(三引號字符串);另一種方式就是將反斜線單獨寫。

例如如下代碼:

s3 = r'Good Morning' '\\'
print(s3)

上面代碼開始寫了一個原始字符串 r'Good Morning',緊接著程序使用 '\\' 寫了一個包含反斜線的字符串,Python 會自動將這兩個字符串拼接在一起。運行上面代碼會生成如下輸出結果:

Good Morning\

感謝你能夠認真閱讀完這篇文章,希望小編分享Python字符串的示例分析內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI