Python String Formatting
%格式化
运算符%
可用于格式化字符串:
1 | '%s world %d' % ('Hello', 12) |
其中前半段''
内的是原字符串,%s
和%d
是占位符,最后()
内的是占位符的实际内容(若是变量则将输出其值,即若令a='Hello'
,并将Hello
替换为a
,则上面代码的输出结果不变)。占位符的用法与C语言的一致,如%d
表int
,%f
表float
,%s
表string
,%5s
表右对齐占5位(不够则用空格补齐),%.2s
表取2位(超出则截断,对于%.f
是指保留2位小数),%-s
表字符串左对齐,等等,此处不再赘述。
format格式化
format
是string
对象的成员函数,功能是格式化原字符串,并返回格式化后的字符串:
1 | '{} {}'.format('hello','world') # 不带字段 |
原字符串中的{}
起着占位的作用,占位的方式有三种:
- 不带任何字段的占位,即第一种。这种情况下,传给
format
的参数将顺序替换掉占位的{}
; - 带位置编号的占位,即第二、三种。这种情况下,位置编号代表传给
format
的参数的先后次序(如'hello'
为0),传入参数将按编号替换掉占位符; - 带关键字的占位,即第四种。这种最直观,直接用变量名来占位。
format
格式化的占位符也可以结合%
格式化的占位符,不过要用:
区分开,如:
1 | '{a} {b} {a:.2s}'.format(b='hello',a='world') |
{a:.2s}
表示按字符串输出但是只保留两位。