目录
一、format()函数介绍
二、函数运用
①位置填充
②填充物(fill)、对齐(align)、宽度(width)
③sign参数保留正负号
④指定精度(.nf)、分隔符(,)、进制(o,b,d,x)
format()函数用来收集其后的位置参数和关键字段参数,并用他们的值填充字符串中的占位符。通常format()函数配合print()函数达到强格式化的输出能力,在Python二级的考试中format()函数是必考科目,它是Python二级答题中的第一题也是一道可难可简单的题目。
format()函数固定的输出格式如下:
'{key : fill, align, sign,0,width, precision, type}'.format(para1...)
总体介绍:
format()函数简单的格式形式就是‘{}’.format()。
它是通过引号中间包含花括号('{}')的形式通过点(.)format()形式进行函数调用。
参数介绍:
1.fill:用来指定填充字符,默认为空格
2.align:指定对齐方式:>为右对齐,<为左对齐,^为居中对齐
3.sign:指定是否保留正负号:+为保留正负号,-为仅保留负号
4.0:宽度前面如果加0则表示用0填充
5.width:指定宽度
6.precision:指定精确度
7.type:指定类型,如b为二进制,x为十六进制
语法格式如下:
'{0}{1}'.format(part1,part2)
format()函数进行填充时可以根据位置参数进行填充,当0和1互换是{1}{0}则前面位置填充的是part2的参数内容,后面位置填充的是part1的内容。示例:
位置0,1
'Hello,{0}. My name is {1}. How\'s it going?'.format('Hialry','Vergil')
位置1,0
'Hello,{1}. My name is {0}. How\'s it going?'.format('Hialry','Vergil')
注:未指定位置0,1即省略前面的参数时函数的填充将根据顺序填充。也就是part1参数将填充第一个花括号以此类推
除了固定的位置填充,还可以使用使用关键字填充
'I\'m {name1}, and I miss u so much, {name2}.'.format(name1='vergil',name2='hilary')
填充物(fill):填充的物品,此处是用以填充的字符,数字等,值得注意的是填写引号、括号等需要用\转义符转义。
对齐(align):对齐方式有三种居中(^)、>为右对齐、<为左对齐
宽度(width):填入参数为数据即所占位置多少的参数
'{:=^20}'.format('bb')
这填充使用的引号因此需要转义符\进行转义,转义字符放在\之后。
n=100
'{:\'^+30}'.format(n)
#不保留正号,仅保留负号
'{:\'^30}'.format(n)
'{:\'^-30}'.format(n)
o,b,d,x:二进制、八进制,十进制、十六进制
'{:\'^+20b}'.format(n)
精度控制的参数设置为.nf
n取值大小和小数点后保留位数有关,此保留方法是四舍五入的方法,同时保留的位数不足时用0进行后续位置的填充
千分位分隔符:,用于十进制的千分位分割
'{:\'^+20,}'.format(n)
注:千分位和转进制值不可同时使用,同时使用则会出现ValueError: Cannot specify ',' with 'b'.错误,千分位分隔符是用于十进制的数字