- Python程序设计:人工智能案例实践
- (美)保罗·戴特尔 哈维·戴特尔
- 606字
- 2021-08-13 17:16:59
2.5 三引号字符串
可以使用一对单引号('
)或一对双引号("
)来表示字符串,也可以用一对三引号(三个双引号" " "
或三个单引号' ' '
)来表示字符串。Style Guide for Python Code推荐使用三个双引号(" " "
)。使用三引号可以创建以下三类字符串:
- 多行字符串;
- 包含单引号或双引号的字符串;
- 文档字符串,是用来详细记录某些程序组件用途的一种推荐方法。
字符串中包含引号
在由单引号界定的字符串中可以包含双引号:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/054-3.jpg?sign=1739522606-0IS1biNXaWncjHlmfHfrjf13GYODXfXP-0-a0478ddf4cde8f55d3c5d62ea155547c)
但不能包含单引号:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/054-4.jpg?sign=1739522606-BGqL4DmO5IlpKdz2bN4ho4qme4YVdPlg-0-57fc7506061e25836f6329ad5dadbc4d)
如果需要包含单引号,需要使用转义字符“\'
”
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/054-5.jpg?sign=1739522606-B9N0l59HNxydYHusNTGOtsXN6C1bFqHI-0-d9cb2aafeb7a37349e6a0cc65fd8c896)
由于单引号字符串中含有单引号,代码段[2]
显示语法错误。IPython显示引起语法错误的代码行的信息,并使用“^
”符号指向发生错误的位置。还会显示更详细的信息“SyntaxError:invalid syntax
”。
由双引号分隔的字符串中可以含有单引号:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-1.jpg?sign=1739522606-yTVU47FEbqmLq0VvN0nth4voEZO1koK5-0-605e9017ec68b5dbc3d3583513cd25fe)
但不能包含双引号,如需包含双引号,要使用转义字符“\"
”:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-2.jpg?sign=1739522606-1ZHNC0mbi77X29lTKgjjAYqrlMV3Tk8W-0-8ffb086c1f218a20420db91a948fdeb6)
为了避免在字符串中使用“\'
”和“\"
”,可以将这些字符串括在三引号中,例如:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-3.jpg?sign=1739522606-iqWoPR5UuC1lqPhbFEXvrNNPepfhq0hX-0-f6f1f14cf980e7ae86f2b454115254ce)
多行字符串
下面的代码段将三引号括起来的多行字符串赋值给变量triple_quoted_string
:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-4.jpg?sign=1739522606-YZXxCN01QicICOk5qIyZhaYtIki2oXht-0-3a7523fe15e93aaee34d38d2c6d0426d)
因为在按下Enter键之前没有输入结束符(" " "
),因此IPython知道字符串是不完整的,会显示一个延续提示符“...:
”。可在其后面输入多行字符串的下一行,直到输入结束符(" " "
)并按Enter键。下面的代码段显示triple_quoted_string
的值:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-5.jpg?sign=1739522606-VTyt8y5ygjLVmfRLE4tsz3UoQxXGX55F-0-53ff60f1be8cf7b35883dffb482869e0)
Python通过嵌入换行符来存储多行字符串。例如,当评估triple_quoted_string
而不是打印它时,IPython会将它显示在单引号中,并在代码段[7]
中按Enter键的位置显示一个转义字符“\n
”。IPython显示的引号不是字符串的一部分,而是表示triple_quoted_string
的类型为字符串,显示如下:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-6.jpg?sign=1739522606-5gI0IIVKn269WbAUVtJaYbpynDuLXL17-0-9f39df1642d7bbe5a126fb410d9280ed)