format函数一般用于字符串的格式化输出,其格式为:
{<索引>:<填充><对齐方式><宽度><.精度><数据类型>}.format()
1.索引
<索引>处可以选择不写,此时则进行顺序填充。
顺序填充时,{}与值的个数要一致,否则会报错
x="{} is {}".format('a','b')
print(x) # a is b
<索引>出填写时,与索引一致,都是从0开始。并且可以通过索引进行选择输出
x="{0} is {1}".format(a,b,c)
print(x) # a is b
x="{1} is {1}".format(a,b,c)
print(x) # b is b
2.填充、对齐方式和宽度
这三者经常会放在一起使用 ,当字符串长度小于设定宽度时,字符串会按照代码进行对齐,其余部分会进行填充。若字符串长度大于设定宽度时,将不会进行填充。
对齐方式: < :左对齐 >:右对齐 ^ :居中对齐
x="{:*^20}".format('hello python')
print(x) # ****hello python****
3.精度和数据类型
精度和数据类型一般也是一起使用,特别要注意精度前方有 ‘ . ’ 。
当不写数据类型时,可以对字符串进行截取。
x="{:.2f}".format(1.234) #保留两位小数
print(x) # 1.23
x="{:.2}".format('hello python') #字符串的截取
print(x) # he
4.进制转换
常用的进制转换有:
'b' 二进制 'o' 八进制 'x' 十六进制 'd' 十进制
需要注意的是,在十六进制时,转换过后的字母格式与 'x' 的格式相同。而二进制和八进制由于没有字母,所以只能写成 'b' 和 'o' 。
x=177
print("{:x}".format(x)) #小写
print("{:X}".format(x)) #大写
# 结果如下
# b1
# B1
5.补充
在计算机二级考试题中遇到过,给数字添加千位符
x="{:,}".format(123456789) #添加千位符
print(x) # 123,456,789