python格式化输出

今天写代码时,需要 统一化输出格式进行,一时想不起具体细节,用了最笨的方法,现在讲常见的方法进行一个总结。

一、格式化输出

1、整数的输出
直接使用'%d'代替可输入十进制数字:
>>> print 'i am %d years old'%25
i am 25 years old
 
%x —— hex 十六进制
%d —— dec 十进制
%o —— oct 八进制
>>> num=10
>>> print'dec=%d, oct=%o, hex=%x'%(num,num,num)
dec=10, oct=12, hex=a

2、浮点数输出
(1)格式化输出
正常情况下,与整数的输出一样,使用‘%f’替换,默认情况下,保留小数点后面6位有效数字,如:
>>> f=3.1415
>>> print 'pi=%f'%f
pi=3.141500
>>> f=3.141500000
>>> print 'pi=%f'%f
pi=3.141500
除‘%f’外,还可以用‘%e’、‘%g’表示浮点数, ‘%e’用指数形式输出,‘%g’根据实际情况输出,默认情况下最多保留6位有效数字。
具体使用如下所示:
>>> numb1=0.000033333
>>> print '%f, %e, %g'%(numb1,numb1,numb1)
0.000033, 3.333300e-05, 3.3333e-05
>>> numb2=0.3333
>>> print '%f, %e, %g'%(numb2,numb2,numb2)
0.333300, 3.333000e-01, 0.3333
上图可知,‘%f’和‘%e’默认情况下都会保留小数点后面六位有效数字,‘%g’在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法。
另外上述几种输出方式都可以自定义精度,
>>> numb1=0.000003333333
>>> print '%.3f, %.3e, %.3g'%(numb1,numb1,numb1)
0.000, 3.333e-06, 3.33e-06
>>> numb3=1234567.1234567
>>> print '%f, %e, %g'%(numb3,numb3,numb3)
1234567.123457, 1.234567e+06, 1.23457e+06
>>> print '%.3f, %.3e, %.3g'%(numb3,numb3,numb3)
1234567.123, 1.235e+06, 1.23e+06
(2)内置round()
除了上面所示的格式化输出外,还可以使用内置函数round()控制浮点数的精度,如下图所示:
>>> round(2.3)
2.0
>>> round(2.5)
3.0
>>> round(2.7)
3.0
>>> round(2.567)
3.0
round()函数如果只有一个参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数,类似于四舍五入,当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的情况时,如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数则向上取舍,如下图所示:
>>> round(2.5555,3)
2.555
>>> round(2.456,2)
2.46
>>> round(2.665
  • 29
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值