讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 2.4 數字和字符串 >

2.4 數字和字符串

目前為止,我們已經為字母(文本)和數字創建了變量。不過,在前面的加法例子中,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?'''  

如果希望多行文本顯示在一起,而且你不希望每一行都使用一個單獨的字符串, 在這種情況下,三重引號字符串就非常有用。