5、截断
概念:如果我们指定的"截断长度",比实际给出的"字符串"的长度要短,会发生截断。
1)长度和截断长度的区别
① 什么是长度?
“{:8}”.format(“xishi is beautiful”)中,这个8表示的是填充长度,又成为长度,当字符串长度小于这个长度8的时候,会发生填充;当字符串长度大于这个长度8的时候,长度无效,返回的仍然是原来的字符串。
操作如下:
a = "{:8}".format("xishi") display(a) b = "{:8}".format("xishi is beautiful") display(b)
结果如下:
② 什么是截断长度?
“{:10.8}”.format(“xishi is beautiful”)中,这个".8"叫做截断长度,这个10叫做填充长度。
注意:只有字符串的长度大于这个阶段长度的时候,才会发生截断。当既有截断长度,又有填充长度的时候一般先进行截断,截断后再进行填充。
操作如下:
a = "{:.8}".format("xishi is beautiful") display(a) # 当字符串长度,小于截断长度,返回原始字符串,截断长度无效; b = "{:.8}".format("abc") display(b)
结果如下:
③ 填充长度和截断长度的联合使用
a = "{:*>15.8}".format("xishi is beautiful") display(a)
结果如下:
注意:当既有截断长度,又有填充长度的时候一般先进行截断,截断后,再进行填充。
④ 使用%s完成截断
a = "%.8s" % ("xishi is beautiful") display(a) b = "%15.8s" % ("xishi is beautiful") display(b)
结果如下:
6、格式化输出中,与数字相关的语法
1)引入案例
a = '{}-{}'.format("1","2") display(a) b = '{}-{}'.format(1,2) display(b)
结果如下:
存在的问题:
2)填充整数,使用d
① 使用%s完成整数的填充;
a = '%5d' % (3000) display(a) b = '%d' % ("3000") display(b)
结果如下:
② 使用format()完成整数的填充;
a = '{:$>5d}'.format(3000) display(a) b = '{:¥>5d}'.format(3000) display(b)
结果如下:
3)填充浮点数,使用f(这个才是最常用的,用于保留小数点的位数);
① 引入案例
a = '{:f}'.format(3.14159268) display(a) b = '{:f}'.format(3.1415921) display(b) c = '{:f}'.format(312) display(c) d = '{:d}'.format(12,34) display(d)
结果如下:
存在的问题:
② 使用%s完成浮点数填充,保留2位有效数字;
a = '%.2f' % (3.1415) display(a)
结果如下:
③ 使用format()完成浮点数的填充,保留2位有效数字;
b = '{:.2f}'.format(3.1415) display(b) c = '{:$>5.2f}'.format(3.1415) display(c)
结果如下:
注意:在使用浮点数填充的时候,用的最多的就是保留几位有效数字,由于返回值默认是保留6位小数,因此需要配合使用"截断"。