之前我们已经提到了:字符串是 Python 的一种数据类型,它可以通过单引号 ‘、双引号 "、三引号 ‘’’ 或 “”" 来定义,本节我们来详细介绍一下。
访问单个字符
s = 'Python'
# 访问第一个字符 P
print(s[0])
打印结果如下所示:
P
访问范围内字符
s = 'Python'
# 访问 yt
print(s[1:3])
# 访问 Pyt
print(s[:3])
# 访问 hon
print(s[3:])
打印结果如下所示:
yt
Pyt
hon
Python 使用了 ord() 函数返回单个字符的编码,chr() 函数把编码转成相应字符。如下所示:
s = 'A'
print(ord(s))
print(chr(65))
输出结果:
65
A
之前我们说过可以通过反斜杠 \ 将一行语句分多行显示,其实就是 \ 来转义字符,一些常见的转义字符如下表所示:
转义字符 | 描述 |
---|---|
\ | 在行尾使用时,用作续行符 |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
之前我们已经介绍了大部分运算符,下面再来详细看一下字符串运算符。如下表所示:
运算符 | 描述 |
---|---|
+ | 连接符 |
* | 重复输出 |
[] | 通过索引获取字符串中字符 |
[:] | 获取字符串中的一部分 |
in | 字符串中是否包含指定字符 |
not in | 字符串中是否不包含指定字符 |
r/R | 字符串原样输出 |
使用示例如下所示:
s1 = 'Hello'
s2 = 'Python'
print('s1 + s2 -->', s1 + s2)
print('s1 * 2 -->', s1 * 2)
print('s1[0] -->', s1[0])
print('s1[0:2] -->',s1[0:2])
print('"H" in s1 -->','H' in s1)
print('"H" not in s1 -->','H' not in s1)
print('\\r -->', R'\r')
输出结果:
s1 + s2 --> HelloPython
s1 * 2 --> HelloHello
s1[0] --> H
s1[0:2] --> He
"H" in s1 --> True
"H" not in s1 --> False
\r --> \r
当我们需要输出的内容中含有变量时,比如:Hello xxx,xxx 为变量,此时便需要一种格式化字符串的方式,Python 使用 % 格式化字符串,常用占位符如下表所示:
占位符 | 描述 |
---|---|
%s | 格式化字符串 |
%d | 格式化整数 |
%f | 格式化浮点数 |
以字符串为例,如下所示:
print('Hello %s' % 'Python')
输出结果:
Hello Python
我们也可以使用字符串的 format() 方法进行格式化,先看下示例:
print('{0} {1}'.format('Hello', 'Python'))
这种方式是用传入的参数依次替换字符串内的占位符{0}、{1} …
相对而言, format() 方法使用的频率更高,其具有更强的可读性。