- 零基础学Python程序设计
- 任昱衡编著
- 1440字
- 2022-05-06 12:01:20
3.5 文本类型——字符串
计算机经常要存储和处理文本信息,这些文本信息也被称为文本数据。文本信息在程序中使用字符串类型来表示。下面介绍在Python中如何表示文本数据。
3.5.1 表示方法
字符串是由字符组成的序列。在Python中,字符串是一个常量,常量的值是不会发生变化的。字符串采用引号将一个字符或多个字符括起来。引号可以是单引号('...')、双引号("...")和三引号("""...""")或('''...''')。使用不同的引号表示的字符串含义也不同。下面依次介绍每种字符串的表示方法。
1. 单引号表示法
单引号字符串是指由一对单引号('...')作为边界来表示的字符串。
【实例3-10】下面使用单引号表示字符串,并通过输出进行验证。
(1)书写的字符串如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-1.jpg?sign=1739392402-dw8I7ezQ73ezie0IqGMyapSmIsBcWAc6-0-b4dc63d59fcf42ec2ed3a8b37957013f)
(2)在交互模式中,执行代码并查看结果,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-2.jpg?sign=1739392402-QjY0qPZjRRUwmT02HSRGuz7TMbQySdbO-0-a1badf78d726445399283c7c8d108913)
输出结果也是一个单引号字符串。
2. 双引号表示法
双引号字符串是指由一对双引号("...")作为边界来表示的字符串。
【实例3-11】下面使用双引号表示字符串,并通过输出进行验证。
(1)编写的字符串如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-3.jpg?sign=1739392402-SODv4Bh2rBFVfv56ME9xZELYslP3rMPg-0-b99401a0ff5ea25de80deafa5d87de38)
(2)在交互模式中,执行代码并查看结果,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-4.jpg?sign=1739392402-XjgDknCvskxHkDGgGYxR9CZbwkQXEc6V-0-200dd867275d2b98a46a4f34855ede9f)
输出结果是一个单引号字符串。
3. 单引号+双引号表示法
单引号+双引号表示法是指由一对单引号作为边界,双引号可以作为字符串的一部分。
【实例3-12】下面使用单引号+双引号表示字符串,并通过输出进行验证。
(1)编写的字符串如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-5.jpg?sign=1739392402-OJ6rD0Py5c58XFtU1tMQYTxiGrqxLMhr-0-eb2731d544e6e58c2c0a98249c607932)
(2)在交互模式中,执行代码并查看结果,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-6.jpg?sign=1739392402-itT1pFJP3knOtpPFhmbzJhtWvwzoExvX-0-4faf4a54b4f9b956c055d6b508e969ba)
从输出信息中可以看到,这是一个单引号字符串。字符串中的“双引号”字符使用了双引号,作为了字符串的一部分。
4. 双引号+单引号表示法
双引号+单引号表示法是指由一对双引号作为边界,单引号可以作为字符串的一部分。
【实例3-13】下面使用双引号+单引号表示字符串,并通过输出进行验证。
(1)书写的字符串如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-7.jpg?sign=1739392402-ebv3ammCAAXWb3XJl1C3uttmsRRkwGq4-0-16ec4ada3622515ed069b92d4a7fd801)
(2)在交互模式中,执行代码查看结果,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-70-8.jpg?sign=1739392402-lHHHJoYRP5JZtK0H4pe6BEgAHbnJuZ9w-0-a83696f19c840f063ff4c07684a7cad8)
从输出信息中可以看到,这是一个双引号字符串。字符串中的“单引号”字符使用了单引号,作为了字符串的一部分。
5. 三引号表示法
上述字符串表示方法表示的字符串内容必须写在一行内。如果想表示多行字符串的内容,就需要使用三引号。三引号可以是三个单引号('''...'''),也可以是三个双引号("""...""")。因此,这种表示法有两种形式,但其作用是相同的。
【实例3-14】下面使用三引号表示字符串,并通过输出进行验证。
(1)书写的字符串如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-71-1.jpg?sign=1739392402-daJb0Hha0Z3LYcBOaNqwkAyv6g7Xb1NT-0-bdd8cbda4c284ac7647f06713637372f)
(2)在交互模式中,执行代码并查看结果,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-71-2.jpg?sign=1739392402-sh0loUYPchnEXsCiYbds5COdNuPkKWvB-0-0f5fe561d9d9e5f9d7c3bfaf0bdebd8e)
输出信息将三引号表示法的字符串,输出为一行。为了更好地显示多行字符串效果,可以通过输出语句print()来实现,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-71-3.jpg?sign=1739392402-PAtmzclbR6orTMZOgwAtpQf5LeVL06e9-0-5004eda87802678e3d838ddab3501b4b)
提示:在使用三引号表示法编写字符串时,如果在交互模式下,它是一个字符串,如果放在IDLE编辑器中,它将被视为注释信息,而不是字符串。
3.5.2 转义字符
Python的字符串还支持转义字符。转义字符是指使用反斜杠“\”与后面相邻的一个特殊字符共同表示一个新的含义。常用的转义字符含义如表3-3所示。
表3.3 常用的转义字符含义
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-71-4.jpg?sign=1739392402-D5k0bIh2ZEWF2JiV5QofWAXCXupf28Zz-0-629dd07047acdf556d02914de5168208)
【实例3-15】下面以对比的形式,比较不包含与包含转义字符的执行结果。
(1)书写不包含转义字符和包含转义字符的字符串,并输出查看,如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-72-1.jpg?sign=1739392402-R7yUY1xmDuN4oq1eWqZFH3e4PxOarSE3-0-b958e4c88e30efac1cea8d47c6a9ab5b)
输出结果表示,书写的第1个字符串不包含转义字符,直接输出字符串内容的本身,输出在一行上。书写的第2个字符串包含转义字符“\n”,表示换行,因此,输出结果将字符串内容分成了两部分,并进行分行显示。
(2)如果要使字符串中包含转义字符,而不是Python把它当成转义字符使用,则需要在字符串的左边使用r或R来取消转义字符的作用。例如,将上面字符串中的“\n”作为字符串的一部分,而不是当作转义字符来用,代码及执行结果如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-72-2.jpg?sign=1739392402-rMhXszS0isu2vW1z7Ilt6O5c1IDoGqWk-0-cd470fcaa08aa5d2570eca1db76dbbdd)
输出信息表示,字符串前面使用了r或R,输出信息的字符串中包含了转义字符“\n”。