格式化总共有三种方式,根据版本更替的顺序为:
占位符>format()>f’str’
占位符
小数%f
%6.3f
%表示接下来是一个占位符
6 表示宽度为6 位数不够自动补空格,超出保留
.3表示小数点后三位
f表示数据类型为小数
print( '这是一个保留小数点后三位数字的形式:%.3f' %3.1415926)
>>>'这是一个保留小数点后三位数字的形式:3.142'
可以自动的四舍五入
print('pi:%4f e:%3f'% (3.1415926,2.7172))
>>> pi:3.141593 e:2.717200
整数%d
print('整数:%3d'%3)
3#前面有两个空格
这表示输出长度为3的整数,位数不够自动补空格
左对齐格式: % -3d
字符串%s
print('这是一个长度为7的字符串:%7s'%'张三')
>>>这是一个长度为7的字符串: 张三
可以使用center函数来子自定义补齐的符号
print('这是一个长度为7的字符串并且用-补齐:%7s'%'张三'.center(10,'-'))
>>>这是一个长度为7的字符串并且用-补齐:----张三----
百分号形式 %%
print('这是0.5的百分号形式:%d%%!'%(0.5*100))
>>>这是0.5的百分号形式:50%!
十六进制形式%x
print('这是255的十六进制表示:%x'%255)
>>>这是255的十六进制表示:ff
format函数
优点: 传进去的数可以重复在出现字符串出现
示例:
print('{0} {1} {0:04d} {1:03d}'.format(3,9))
>>>3 9 0003 009
print('{0} {0:.1f} {0:.2f} {0:.3f}'.format(3.1415926))
>>>3.1415926 3.1 3.14 3.142
对齐操作
左对齐<
右对齐>
居中对齐^
print('{0}+{0:<5s}+{0:>5s}+{0:^5}'.format('abc'))
>>>abc+abc + abc+ abc
可以自定义填充符号
print('{0}+{0:#<7s}+{0:#>7s}+{0:#^7}'.format('abc'))
>>>abc+abc####+####abc+##abc##
可以直接赋值
print('{i} * {j} = {}'.format(6,i = 2,j = 3))
>>>2 * 3 = 6
优先级为 先赋值,再顺序的放入值
f字符串
可以直接给字符串传值
for i in range(1,10):
for j in range(1,i+1):
print(f'{i} * {j} = {i*j:2d)',end='\t')
print('')