字符串是 Python 中最常用的数据类型,可以使用引号( '
或 "
)来创建字符串,也可使用或str
来将其他数据强制转换为字符串。例如:
Me = 'I am Luo!' # 或 Me = "I am Luo!"
注:源字符集由编码声明定义;源文件没有编码声明时,默认为 UTF-8。
索引
字符串中每个字符的索引位置从左至右起,第一位为 0;从右至左起,最后一位为 -1。
提取
可根据字符索引提取对应位置的字符。
Me = 'I am Luo!'
Fetch2 = Me[2]
print(Fetch2)
执行结果:
a
也可根据字符索引区间提取多个字符(切片提取)。
Fetch2_4 = Me[2:4]
print(Fetch2_4)
执行结果:
am
链接
L = 'AB' + 'CD'
print(L)
执行结果:
ABCD
重复
R = 'AB' * 3
print(R)
执行结果:
ABABAB
判断
'AB' == 'ABCD' # 'AB' != 'ABCD' # 'AB' in 'ABCD' # 'AB' not in 'ABCD'
执行结果:
False
# True # True # False
前缀
前缀 | 描述 | 示例 | 结果 | 提示 |
b 或 B | 生成字节串 |
| b’\xf0\xf1\xf2’ | 字节串只能包含 ASCII 字符。 |
r 或 R | 原始字符串 |
| \ss | 字符串和字节串都可以加此前缀 |
f 或 F | 格式字符串 |
| You are Luo! | 包含以 |
注:前缀可以有限制的混用,例如:
br
,fr
。
转义
反斜杠(\
)用于转义特殊字符,例如,换行符、反斜杠本身、引号等。
注意:Windows 下路径以
\
表示,Python 读取路径时需标记不转义(路径字符串前增加 r 或 R ),或采用\\
或/
。
如未标注 r
或 R
前缀,字符串和字节串字面值中,转义序列以类似 C 标准的规则进行解释。可用的转义序列如下:
转义字符 | 描述 |
\newline | 忽略反斜杠与换行符 |
\\ | 反斜杠(\) |
\’ | 单引号(’) |
\" | 双引号(") |
\a | ASCII 响铃(BEL) |
\b | ASCII 退格符(BS) |
\f | ASCII 换页符(FF) |
\n | ASCII 换行符(LF) |
\r | ASCII 回车符(CR) |
\t | ASCII 水平制表符(TAB) |
\v | ASCII 垂直制表符(VT) |
\ooo | 八进制数 ooo 字符 |
\xhh | 十六进制数 hh 字符 |
格式化
格式化字符串通常使用 % 占位符 或 format
函数。
% 占位符
格式 | 描述 | 示例 | 结果 |
%c | 格式化字符及其ASCII码 |
| \x02 |
%s | 格式化字符串 |
| 2.000000 |
%d | 格式化整数 |
| 2 |
%u | 格式化无符号整型 |
| 2 |
%o | 格式化无符号八进制数 |
| 22 |
%x | 格式化无符号十六进制数 |
| 37 |
%f | 格式化浮点数字,可指定小数点后的精度 |
| 55.000000 |
%e | 用科学计数法格式化浮点数 |
| 5.500000e+01 |
格式化操作符辅助指令:
符号 | 描述 | 示例 | 结果 |
*.* | 定义字符串宽度和浮点数精度 |
| 55.0 |
- | 左对齐(默认右对齐) |
| aa |
+ | 在正数前面正号 |
| +15 |
0 | 显示的数字前面填充 ‘0’ |
| 00002 |
(var) | 映射变量 |
| 20 |
format 函数
格式 | 描述 | 示例 | 输出 |
{:.2f} | 保留小数点后两位 |
| 3.14 |
{:+.2f} | 带符号保留小数点后两位 |
| +3.14 |
{:.0f} | 去除浮点数的小数位 |
| 3 |
{:0>2d} | 整数补零 (右对齐,左侧填充,宽度为 2 ) |
| 05 |
{:x<4d} | 整数补 x (左对齐,右侧填充,宽度为 4 ) |
| 5xxx |
{:,} | 以逗号分隔的数字格式 |
| 5,000 |
{:.2%} | 百分比格式 |
| 25.00% |
{:.2e} | 指数记法 |
| 1.00e+03 |
{:>3d} | 右对齐 (默认,宽度为 3 ) |
| 1 |
{:<3d} | 左对齐 (宽度为 3 ) |
| 1 |
{:^3d} | 中间对齐 (宽度为 3 ) |
| 1 |