6.10 字符串关键点总结
1. 一些引号分隔的字符
你可以把字符串看成是Python的一种数据类型,在Python单引号或者双引号之间的字符数组或者是连续的字符集合。在Python中最常用两个引号是单引号(’)和双引号(”)。字符串的实际内容是这些单引号(’)或者双引号(”)之间的字符,不包括引号本身。
可以用两种引号来创建字符串是很有益处的,因为是当你的字符串中包含单引号时,如果用单引号创建字符串,那么字符串中的双引号就不需要转义。反之亦然。
2. 不可分字符类型
字符串是唯一的字面上的字符序列类型。不过,字符本身并不是一种类型,所以,字符串是字符存储操作的最基本单位。字符应该视为长度为1的字符串。
3. 字符串格式化操作符(%)提供类似printf()的功能
字符串格式化操作符(见6.4.1节)提供了一种基于多种输入类型的创建自定义字符串的灵活方式。它也提供了类似于C/C++世界里的格式化操作的接口。
4. 三引号
在6.7.2节里面,我们介绍了三引号,在三引号字符串中可以包含诸如换行回车或者tab键这样的特殊字符。三引号字符串是用两边各三个单引号(’’’)或者两边各三个双引号(”””)来定义的。
5. 原始字符串对每个特殊字符串都使用它的原意
第6.4.2节中,我们讲述了原始字符串,并且讨论了它们并不通过反斜线转义特殊字符的特性。这个特性使得原始字符串非常适用于那些需要字符串原意的场合,比如在定义一个正则表达式时。
6. Python字符串不是通过NUL或者‘\0’来结束的
C编程的一个主要问题是你访问了一个字符串后面的本不属于你的空间,这种情况发生在你没有在字符串末尾添加终结符、NUL或者‘\0’(ASCII值为0)的时候。Python不仅为你自动管理内存,而且也把C的这个负担或者说是小麻烦去掉了。Python中的字符串不是以NUL结束的,所以你不需要为是否已经添加终结符担心。字符串中只包含你所定义的东西,没有别的。