python--print函数的格式化输出


参考链接:
python3 print.format用法
Python format 格式化函数


带format格式的输出

输出顺序
print('{},{}'.format('lin', 25))
print('{0},{1},{2}'.format('lin', 'male', 25))
print('{name},{sex},{age}'.format(age=25, sex='male', name='lin'))

输出为:

lin,25
lin,male,25
lin,male,25

上面的代码中,第一行就是常规的按顺序输出。
第二行加了性别和序号,序号可以控制后面输出的顺序,改变序号的位置,后面输出的顺序也会相应改变。例如:
print('{1},{0},{2}'.format('lin', 'male', 25))
输出就是:

male,lin,25

第三行在中括号{ }中加了关键字,随后在format格式中给出了各个关键字的值,这样输出就可以不受后面顺序的影响,只要给出相应的关键字的值即可。

填充与对齐

常用的填充符号:^(居中),<(左对齐),>(右对齐)
一般在填充符号后面跟一个数字表示填充之后的字符串长度。
在中括号{ }中的冒号后指定填充的字符(只能是一个字符),不指定的话默认是用空格填充

print('{:>6}'.format('lin'))
print('{:s>6}'.format('lin'))
print('{:s<6}'.format('lin'))
print('{:s^6}'.format('lin'))
print('{:s^2}'.format('lin'))

打印效果:

   lin
ssslin
linsss
slinss
lin

数字指定填充完的字符串长度,大于原来字符串长度时填充有效,如果小于原来字符串长度,那么只显示原来字符串,见上面最后一个打印格式。

数值打印

进制类型:b、d、o、x分别表示二进制、十进制、八进制、十六进制。
浮点数类型:用f表示浮点数,小数点后面一个数字,表示小数点后面保留的小数位数。

print('{:b}'.format(25))
print('{:d}'.format(25))
print('{:o}'.format(25))
print('{:x}'.format(25))
print('{:.4f}'.format(3.14159))

打印结果:

11001
25
31
19
3.1416

逗号分隔数值较大的数字:

print('{:,}'.format(123456789))

123,456,789

最后,假如想用format格式输出一句话,例如:
My name is lin*(8位,*填充), and I am 25 years old.
I am 1.73 meter tall.
其中名字和岁数由格式控制。那么可以用如下方式:

print('My name is {:*<8}, and I am {} years old.'.format('lin', '25'))
print('I am {:.2f} meter tall.'.format(1.73))
My name is lin*****, and I am 25 years old.
I am 1.73 meter tall.

带%控制格式的输出

这种方式比较简单,将原来format的位置换成%,去掉前面的小数点即可。前面需要输出的位置不再是中括号控制,而是%加控制符,类型与前面类似。举一个简单的例子:

print('My name is %s, and I am %d years old. I am %.2f meter tall' % ('lin', 25, 1.73))

My name is lin, and I am 25 years old. I am 1.73 meter tall

%s表示字符串格式,注意数值类型(%d, %f)后面相应的位置必须是数值,不要误写成字符串了。

  • 26
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值