目前为止,我们已经为字母(文本)和数字创建了变量。不过,在前面的加法例子中,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?'''
如果希望多行文本显示在一起,而且你不希望每一行都使用一个单独的字符串, 在这种情况下,三重引号字符串就非常有用。