字符串的格式化
字符串的格式化
格式一般为二种:
-
第一类是位置占位符。
stra.format(index)
-
第二类是关键字占位符。
stra.format(keywords=value)
位置标志占位符
位置占位符,一般来说就是在代码段使用 *{位置}*。再使用stra.format{位置1,位置2,...}对其中的位置进行赋值,此方法不可赋值信息颠倒,否则会出错。
>>>stra = '我是一名{0}的初学者,{0}很有意思,除{0}外,我还爱好{1},很开以在{2}认识你。'
>>>stra.format('python','e','csdn')
>>>'我是一名python的初学者,python很有意思,除python外,我还爱好e,很开以在csdn认识你。
关键字占位符
关键字占位符命明规则是对需要赋值的地方留下关键字*{keywords}*,在字符串格式化的时候对关键字对行赋值,类似于k,v结构。stra.format{keywords=value,k=v,k1=v1,…}
>>>strb = '我叫{name},今年{age},我喜欢{things}.'
>>>strb
>>>'我叫{name},今年{age},我喜欢{things}.'
>>>strb.format(things = 'programming',name = 'result',age = 55)
>>>'我叫result,今年55,我喜欢programming.'
关键字与位置占位符比较
使用关键字可不必劳记需要赋值的位置,在赋值过多的时候可以使用此方法,否则不如第一种简便。不过位置占位符有一个关键字占位符没有的功能,那就是填充与对齐。
在使用位置占位符的时候,可以对其位置的地方进行文字宽度处理。基本语法是在定义字符串位置信息时进行处理,有
- ^ 居中
- < 左对齐
-
右对齐
语法是{位置:字符^填充长度}
如:
>>>strb = '我叫{0:@<13},今年{1:*>4},我喜欢{2:^7}.'
>>>strb
>>>'我叫{0:@<13},今年{1:*>4},我喜欢{2:^7}.'
>>>strb.format('result',55,'programming')
>>>'我叫result@@@@@@@,今年**55,我喜欢programming.'