这种格式化数据慢慢被抛弃了,因为它的占位符和值之间必须一一对应,在占位符比较多的时候,比较容易出错。
使用format()函数格式化字符串着这种方式下,使用{}作为占位符,但它的好处在于可以给它指定顺序,例如:
还可以加入变量:
考虑下面这种情况:A喜欢B,可B不喜欢A
如果A、B待定,用前面的格式化方式定义如下:”%s喜欢%s,可%s不喜欢%s” %(“A”,“B”,“B”,“A”)
这种方式的问题在于:
都用%s来指定,看不出A、B的区别
A、B其实各重复了一次,如果重复多次,需要重复写更多次。
如果用format()函数,可以写成:
当然,在format()中也可以使用类似%一样的数据类型等设置:
指定长度和精度:
另外,在指定了长度之后,如果对应的值不足,可以指定补足的字符(默认是空格,例如上面北山啦后面的空格),此时必须配合对齐方式来使用:
“<”:左对齐
“^”:居中对齐
“>”:右对齐
使用f-string来格式化字符串format()方法相比较%来说已经有明显的改进,但在某些复杂情况下,还是显得不够灵活。例如:
可以看到,一旦参数比较多,在使用format()的时候,需要做比较多的无用功。其实如果能直接在{}中,和变量直接一一对应,那就方便很多了。可以使用f-string改成