前面跟大家分享过占位符%,最近发现了个更好用的格式化输出函数format,故做了个总结,下面将是对format函数的用法全解。
首先,format是一个字符串中的函数 表达式为 str.format(),采用了 {} 来代替占位符 %
format(value, format_spec='', /)
#这个为调用格式 value 表示格式化输入的值(参数),可以接受不限个参数
format函数的位置参数用法 “{0}”.format(value)
"The dog is {} years old,name {}".format(1,"DaiMo")#大括号里没有设置位置参数
#结果为:'The dog is 1 years old,name DaiMo'
#这是默认位置参数状态下的输出结果,第一个{}对应format函数的第一个参数,
#第二个{}对应着第二个参数,以此类推,一一对应。
"The dog is {0} years old,name {1}".format(1,"DaiMo")
#结果为:'The dog is 1 years old,name DaiMo'
"The dog is {1} years old,name {0}".format(1,"DaiMo")
#结果为:'The dog is DaiMo years old,name 1'
#通过位置的改变来让替换的值根据位置改变
format函数的字符填充用法 “{:}”.format()
说到这一点,可能稍微有点复杂,为了方便理解,在引入format函数的调用格式
'''
{ index : [ [fill] align] [sign] [+] [width] [.precision] [type] ] }
index 为位置参数,从0,1,……,开始
fill:指定空白处填充的字符,当填充字符为逗号(,)且作用于整数或浮点数时,
该整数(或浮点数)会以逗号分隔的形式输出(千分位输出),例如(1000000会输出 1,000,000)
align:指定数据的对齐方式(<、>、^ 分别为左对齐、右对齐、居中,= 看下图)
sign:指定有无符号数(+、-、#、空格)
width:指定输出数据时所占的宽度。
precision:指定保留的小数位数。
type:指定输出数据的具体类型
'''
哈?还看不懂吗?那我以例子为基础讲细一点
print("The dog is {0:0>2} years old,name {1}".format(1,"DaiMo"))
#The dog is 01 years old,name DaiMo#
#大括号中第一个0表示位置参数,第二个0是在设定的字符长度下,空白处以0来填充。> 表示右对齐,2 表示字符长度为2.
"例子,{:#<5s}".format("hi")
#'例子,hi###'
"例子,{:0=8d}".format(5)
#'例子,00000005'
"例子,{:0^7d}"