Python学习(二) 格式化数据

python格式化字符串方式有两种 %和format
1、百分号方式:%[(name)][flags][width].[precision]typecode
2、format方式:[[fill]align][sign][#][0][width][,][.precision][type]

百分号方式:%[(name)][flags][width].[precision]typecode

(name)可选用于选择指定的key 

print('%(A)s %(B)s %(C)s' %{'A':'Test1', 'C':11, 'B':'后边'})
输出:Test1 后边 11

flags可选可选值 +,-,' '或0+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充
width可选占有宽度(宽度包含字符串本身长度,如果小于本身长度,未格式化)

如:
print('%10f,%-10f' %(7.0,2.05))
print('%-5s,%15s' %('ABCDEFG','ABCDEFG'))
输出:
7.000000,2.050000
ABCDEFG, ABCDEFG

.precision   可选 可选,小数点后保留的位数(会四舍五入)

如:
print('%.2f,%.3f' %(1.23456,1.23456))
输出:1.23,1.235

typecode必选要格式化的类型编码 

  

format方式:[[fill]align][sign][#][0][width][,][.precision][type] 

fill可选对齐后空白处填充字符
align可选对齐方式(配合width使用)  <左对齐 >右对齐(默认)  =右对齐(只对数字类型有效) ^居中
sign可选有无符号数字     可选值 +、-、空格(正号空格,负号加负)
#可选对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
可选为数字添加分隔符,如:1,000,000
width可选格式化所占宽度(包含字符串本身长度)
.precision可选小数点后保留的位数(会四舍五入)
type可选可选 空默认None 同s

   

例:

print('{:*^10}'.format('hello'))

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

print('{:.2f},{:.3f}'.format(10.23456,10.23456))

格式化的类型编码


%s     字符串 (采用str()的显示)
%r      字符串 (采用repr()的显示)
%c     单个字符
%b       二进制整数
%d     十进制整数
%i      十进制整数
%o     八进制整数
%x     十六进制整数
%e     指数 (基底写为e)
%E     指数 (基底写为E)
%f      浮点数
%F     浮点数,与上相同
%g     指数(e)或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度)
%%    字符"%"

%i和%d 搜索过说明,但是没测试出结果,网上说法是

都是表示有符号十进制整数,但%i可以自动将输入的八进制(或者十六进制)转换为十进制,而%d则不会进行转换。

(C中在scanf里会识别八进制、16进制输入,并转换成10进制。但在printf中%i和%d没区别)

转载于:https://www.cnblogs.com/szhStudy/p/10267504.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值