在书写python程序的时候,大家经常会遇到格式化输出的情况。每到这种情况,大家如果没有好好总结过这方面的问题,就得需要去网上查找相关的博客。其实在python中,格式化输出都是使用占位符来实现的,下面我就对占位符使用的情况进行了一下总结。
占位符的格式如下:
%[(name)][flags][width].[precision]typecode
不要被上面这一大串给吓唬到了,实际上这也是Python的魅力所在。下面一个个进行分析。
它是用来传入字典值的:
print('hi %(name)s' %{'name':'jack'})
结果: hi jack
作为用户对一些格式的选择,只有固定的几个值,以下:
符号 | 说明 |
---|---|
+ | 右对齐;正数前加正好,负数前加负号 |
- | 左对齐;正数前无符号,负数前加负号 |
空格 | 右对齐;正数前加空格,负数前加负号 |
0 | 右对齐;正数前无符号,负数前加负号;用0填充空白处 |
示例:
print('the number is %-d %-d' %(+250,-250))
print('the number is %+d %+d' %(+250,-250))
print('the number is %0d %0d' %(+250,-250))
print('the number is % d % d' %(+250,-250))
#the number is 250 -250
#the number is +250 -250
#the number is 250 -250
#the number is 250 -250
这一项指的是输出的宽度
print('my salary is %4d yuan in this month' %(2504637))#set the width to four
print('my salary is %9d yuan in this month' %(2504637))#set the width to nine
#my salary is 2504637 yuan in this month
#my salary is 2504637 yuan in this month
说明如果设置宽度低于实际字符宽度时,会按照实际的宽度来输出
但是如果设置宽度高于字符宽度时,会按照设置的宽度输出,空白符自动补位,右对齐
print('the answer to the question is %.3f' % (12.34567))
#the answer to the question is 12.346
用于指定输出类型
这里选一个经典示例:
比如想一句话中多种格式化输出,多个占位符 %问题,用个‘+’号就可以解决
print('a is %s ' %('123')+'b is %s'%('456'))
print('the speed of %(obj)s '%{'obj':'light'}+'is %10.2f meters per second' %(299792458))
#a is 123 b is 456
#the speed of light is 299792458.00 meters per second
这就是占位符%的总结,大家如果觉得好请收藏或者点个赞哈!