![Python程序设计:人工智能案例实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/423/39980423/b_39980423.jpg)
上QQ阅读APP看书,第一时间看更新
2.5 三引号字符串
可以使用一对单引号('
)或一对双引号("
)来表示字符串,也可以用一对三引号(三个双引号" " "
或三个单引号' ' '
)来表示字符串。Style Guide for Python Code推荐使用三个双引号(" " "
)。使用三引号可以创建以下三类字符串:
- 多行字符串;
- 包含单引号或双引号的字符串;
- 文档字符串,是用来详细记录某些程序组件用途的一种推荐方法。
字符串中包含引号
在由单引号界定的字符串中可以包含双引号:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/054-3.jpg?sign=1739278999-rAlpzx0tBR3WhWxkeAYtl3N4rN83FjHj-0-02f7a5f5dbd6e3fdb855ed6c1204630a)
但不能包含单引号:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/054-4.jpg?sign=1739278999-VNgGSUFcvZ92SG1df6OoPAy6DPq6p28J-0-cb9b386b1bc8174ed3f26eba1caf69fc)
如果需要包含单引号,需要使用转义字符“\'
”
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/054-5.jpg?sign=1739278999-WDESA36ksVl6lGzdmrCRPfJL00FWdbwm-0-7a843a2ac79f840fb0e89afb01a3dffb)
由于单引号字符串中含有单引号,代码段[2]
显示语法错误。IPython显示引起语法错误的代码行的信息,并使用“^
”符号指向发生错误的位置。还会显示更详细的信息“SyntaxError:invalid syntax
”。
由双引号分隔的字符串中可以含有单引号:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-1.jpg?sign=1739278999-5uUqkKrMFgxZlu2RTuFTWDQaUitgEv1X-0-6eab002bbbea533af47798d484a57a64)
但不能包含双引号,如需包含双引号,要使用转义字符“\"
”:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-2.jpg?sign=1739278999-8e9jw2t1L22qZoeoGHfkZwrtYtacgJCf-0-11cae02045edfeeea407edbdbd022e67)
为了避免在字符串中使用“\'
”和“\"
”,可以将这些字符串括在三引号中,例如:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-3.jpg?sign=1739278999-9zJavaeAaWNUbPUn0WgtlPQQOgOkgcIV-0-9a3aba562384b6df031e1888275e77c8)
多行字符串
下面的代码段将三引号括起来的多行字符串赋值给变量triple_quoted_string
:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-4.jpg?sign=1739278999-DEjrcG6m2CXdYdCKzMCkGfLdTCOZ4kZH-0-f6b5bc4ac12092a6bdd6ce543140e3fb)
因为在按下Enter键之前没有输入结束符(" " "
),因此IPython知道字符串是不完整的,会显示一个延续提示符“...:
”。可在其后面输入多行字符串的下一行,直到输入结束符(" " "
)并按Enter键。下面的代码段显示triple_quoted_string
的值:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/055-5.jpg?sign=1739278999-5iPsxDs3MfT14OISD5SksYSLpDbdsoBH-0-456e0a3f3f2a13346aed158f1e109f0b)
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=1739278999-GxBWWGuDA1gsAmvVZKjuXPpw6urOwRhc-0-cfdfedfc4c4b6e0d7d7d6e7e65c1943e)