目前為止,我們已經為字母(文本)和數字創建了變量。不過,在前面的加法例子中,Python 怎麼知道我們指的是數字 5 和 3,而不是字符「5」和「3」呢?就像前面這句話一樣,正是引號帶來了差別。
字符或字符序列(字母、數字或標點符號)稱為一個字符串(string)。要告訴 Python 你在創建一個字符串,就要在字符兩邊加上引號。至於使用單引號還是雙引號,Python 並不太挑剔。單引號和雙引號都是可以的:
不過,字符串的開頭和結尾必須使用同種類型的引號(要麼都是雙引號,要麼都是單引號)。
如果鍵入一個數字而沒有加引號,Python 就會知道這表示數值,而不是字符。可以試試看二者的區別:
>>> first = 5>>> second = 3>>> first + second8 >>> first = '5'>>> second = '3'>>> first + second'53'
沒有引號時,5 和 3 都處理為數字,所以我們會得到二者的和。有引號時,'5'
和 '3'
處理為字符串,所以會得到兩個字符「相加」的結果,也就是 '53'
。還可以把由字母構成的字符串「加」在一起,第 1 章中已經見過這樣的例子:
>>> print "cat" + "dog"catdog
要注意,像這樣將兩個字符串相加時,它們之間沒有空格。兩個字符串會緊緊地拼接在一起。
注意!這個詞有意思!
拼接
談到字符串時我們說把它們「相加」(剛才就這麼說過),不過這並不完全正確。把字符或字符串放在一起構成更長的字符串時,有一個特殊的稱呼。並不是「相加」(相加只適用於數字),而是稱為拼接(concatenation)。
我們會說拼接兩個字符串。
長字符串
如果希望得到一個跨多行的字符串,必須使用一種特殊的字符串,稱為三重引號字符串(triple-quoted string),就像下面這樣:
long_string = """Sing a song of sixpence, a pocket full of rye,Four and twenty blackbirds baked in a pie.When the pie was opened the birds began to sing.Wasn't that a dainty dish to set before the king?"""
這種字符串以 3 個引號開頭和結尾。所用的引號可以是雙引號也可以是單引號,所以也可以寫成下面的形式:
long_string = '''Sing a song of sixpence, a pocket full of rye,Four and twenty blackbirds baked in a pie.When the pie was opened the birds began to sing.Wasn't that a dainty dish to set before the king?'''
如果希望多行文本顯示在一起,而且你不希望每一行都使用一個單獨的字符串, 在這種情況下,三重引號字符串就非常有用。