字符串和字符串操作
字符串也是一种常用的计算对象,是 Python 语言里最常用的一种基本编程元素。字符串的类型是 str。
程序里用一对单引号(或者一对双引号)括起的字符序列表示一个字符串(直接写出的字符串,或说是“字符串字面量”),序列中可以有空格或其他特殊字符。特殊字符见本页最后的列表。
- 最常用的:\' 在字符串里表示单引号;\" 在字符串里表示双引号;\n 在字符串里表示换行。
在用一对引号括起的字符序列描述一个字符串时,不允许在字符串的中间换行。如果需要写很长的字符串,可以用连续写出的多个字符串(直接写出的字符串字面量,无论是用单引号写法或双引号写法)的方法,只要这些字符串之间只有空格、换行等(称为“空白字符”),系统就会把它们连接成一个字符串。
字符串还可以用一对连续三个引号(单引号或双引号)括起的字符序列表示。采用这种方式描述字符串,允许在串的中间换行,所有空格、换行等字符也看作字符串的内容。
若干字符串运算
(设 s 是值为字符串的表达式,譬如值为字符串的变量,n 是整数)
- 字符串的长度是字符串里字符的个数。内部函数 len(s) 取得 s 的长度;
- 字符串里的每个字符有一个下标,下标从 0 开始计数,直至 len(s) - 1;
- 表达式 s[0] 取得 s 的首字符,s[-1] 取出 s 的末字符,也可以用其他下标值(在 s 的合法下标范围内)取得 s 里的其他字符(一个字符就是只包含一个字符的字符串);
- s[2:5] (假设 2 和 5 是对 s 合法的下标)取得 s 里从下标 2 到下标 4(就是 5 - 1)的一段字符,一般的,s[m:n] 取得 s 里从下标为 m 的字符开始到下标为 n-1 的字符为止的一段字符。这样取得的一段字符还是一个字符串(子字符串);可以用 s[m:] 取得从第 m 个字符开始直至 s 里最后字符的字符串;用 s[:n] 取得 s 里从开始到下标为 n-1 的字符为止的字符串。
- + 运算符也用于表示字符串的拼接,如 'abc' + '1 2 3" 得到字符串 'abc123';
- s * n 表示字符串 s 重复 n 次,如 'abc' * 3 得到字符串 'abcabcabc'。
注意:123 和 '123' 不同,前者是一个整数字面量,描述的是一个整数,后者是一个字符串字面量,描述的是由三个数字字符构成的字符串。类似的,123.45 和 '123.45' 不同,后者是一个包含 6 个字符的字符串。
字符串还有许多其他操作,后面可能有些使用。有关 str 类型的详情见 Python 标准库手册4.7节,Python 提供的与字符串有关的更多功能见标准库手册第 6 节(String Services)。
Python 特殊字符:
\newline | 反斜线符号后紧接换行,忽略反斜线符号和换行 |
\\ | 表示反斜线符号 (\) |
\' | 表示单引号 (') |
\" | 表示双引号 (") |
\a | 表示响铃符号 (BEL) |
\b | 表示空格符号 (BS) |
\f | 表示换页符号 (FF) |
\n | 表示换行符号 (LF) |
\r | 表示回车符号 (CR) |
\t | 表示水平制表符 (TAB) |
\v | 表示垂直制表符 (VT) |
字符的八进制和十六进制描述
\ooo | ooo 是三个八进制数字字符 |
\xhh | hh 是两个十六进制数字字符 |
也可用于描述字节字面量。
进一步细节请参考 Python 语言手册 2.4.1 节(字符串和字节字面量,String and Bytes literals)
|