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}表示按字符串输出但是只保留两位。