-
Python 2和Python 3最大的差别就在于字符串
-
Python 2中字符串是byte的有序序列
-
Python 3中字符串是unicode的有序序列
-
字符串是不可变的
-
字符串支持下标与切片
-
Python字符串支持两种方式格式化
-
print style format
-
format方法
template % tuple # (1)
template % dict # (2)
-
template
为带有一些标记的字符串,使用tuple
中的元素一次填充 -
template
为带有一些标记的字符串,使用dict
中的values按key填充
% (key) flag conversion # (1) (2) (3) (4)
-
%
开始 -
可选的
(key)
如果指定了key, 将从字典中获取对应的value, 否则根据位置从元组中获取 -
可选的 flag
-
必选的 conversion
Flag | 说明 | 实例 |
---|---|---|
# |
此处 |
|
0 |
使用0填充,仅适用于数字 |
|
• |
使用空格填充,默认行为 |
’%•3d' % (1,) ` → '••1' |
符号 | 说明 | 符号 | 说明 |
---|---|---|---|
d |
整数 |
i |
整数 |
o |
八进制整数 |
u |
整数,已废弃 |
x |
小写十六进制整数 |
X |
大写十六进制整数 |
f |
浮点数 |
F |
浮点数 |
e |
小写科学计数法 |
E |
大写科学计数法 |
符号 | 说明 | 符号 | 说明 |
---|---|---|---|
g |
同f, 如果指数小于-4,同e |
G |
同f, 如果指数小于-4,同E |
c |
字符,接收unicode编码或单字符字符串 |
a |
字符串,使用 |
r |
字符串,使用 |
s |
字符串,使用 |
template.format(*args, **kwargs) # (1) (2) (3) (4)
-
template
使用{}
标示变量 -
{}
或{\d+}
使用*args
按顺序填充 -
{key}
使用**kwargs
按key填充
-
字符串连接
join
-
字符串分割
split
,rsplit
,splitlines
,partition
,rpartition
-
字符串修改-大小写
capitalize
,title
,lower
,upper
,swapcase
-
字符串修改-填充清除
center
,ljust
,rjust
,zfill
,strip
,rstrip
,lstrip
-
字符串判断
startswith
,endswith
,is*
-
字符串查找替换
count
,find
,rfind
,index
,rindex
,replace