簡單地理解,字符串就是“一串字符”,也就是用引號內的任何數據,比如“Hello,Charlie”是一個字符串,“How are you?”也是一個字符串。
Python 要求,字符串必須使用引號括起來,可以使用單引號或者雙引號,只要成對即可。字符串中的內容幾乎可以包含任何字符,英文字符也行,中文字符也行。至於字符串是用單引號括起來,還是用雙引號括起來,在 Python 語言中,它們沒有任何區別。比如說:
str1 = 'c.biancheng.net' str2 = "php中文網" 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 解釋器表明了此單引號並不是和最前面的單引號進行配對的另一半,從而避免了發生語法錯誤。 此外,Python 不是格式自由的語言,它對程序的換行、縮進都有其規定的語法。Python 允許使用轉義字符(\)對換行符進行轉義,轉義之后的換行符不會“中斷”字符串。例如:
s2 = 'The quick brown fox \ jumps over the lazy dog' print(s2)
上面 s2 字符串的內容較長,故程序使用了轉義字符(\)對內容進行了轉義,這樣就可以把一個字符串寫成兩行。
同樣的,Python 的表達式也不允許隨便換行。但如果程序需要對 Python 表達式換行,就需要使用轉義字符(\),例如:
num = 20 + 3 / 4 + \ 2 * 3 print(num)
上面程序中有一個表達式,為了對該表達式換行,程序用到了轉義字符。