c语言函数参数类型格式化,格式化输出的几种方法 主要介绍format函数的用法

1 str自带函数格式化输出 rjust() ljust() center() zfill()

zfill是补齐零

介绍:

rjust(...)

S.rjust(width[, fillchar]) -> string

给字符串格式化输出,对字符串本身不做处理,只是返回一个格式化过的字符串,可以指定字符串宽度,并且指定填充的字符,默认填充空格!

作用: 对齐输出

举例:In [26]: s1="1"

In [27]: s2="1234"

In [28]: s1

Out[28]: '1'

In [29]: s2

Out[29]: '1234'

In [30]: for i in s1,s2:

....:     print i

....:

1

1234

#左对齐输出,不满长度为4的,默认填充空格

In [34]: for i in s1,s2:

....:     print i.rjust(4)

....:

1

1234

#填充其他字符In [35]: s1.rjust(4,"*")

Out[35]: '***1'

#补齐0In [38]: s1.zfill(4)

Out[38]: '0001'

等于In [40]: s1.rjust(4,'0')

Out[40]: '0001'

2 浮点型指定宽度输出In [36]: 1.0/3

Out[36]: 0.33333333333333331

In [37]: "%.3f" % (1.0/3)

Out[37]: '0.333'

3 format函数格式化化输出,格式有点像C语言,替换变量

也是str自带函数,可以多用多用

它通过{}和:来代替%。

通过位置In [48]: print '{0} is a {1}'.format('cat','animal')

cat is a animal

In [49]: print '{1} is a {0}'.format('cat','animal')

animal is a cat

解释:{}的内容,会被format()中的参数代替,可以在'{}'里填写上数字来指定format()中的位置,但如果'{}'里面是key参数其中的内容会被format()中的value值代替

通过关键字参数In [50]: print '{name} is a {age}'.format(name='andy', age=20)

andy is a 20

通过下标In [56]: l = ['andy', 'good']

In [60]: '{0[0]} {0[1]} {0[0]}'.format(l)

Out[60]: 'andy good andy'

格式限定符

它有着丰富的的“格式限定符”(语法是{}中带:号),比如:

填充与对齐

填充常跟对齐一起使用

^、分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

比如In [15]: '{:>8}'.format('189')

Out[15]: '   189'

In [16]: '{:0>8}'.format('189')

Out[16]: '00000189'

In [17]: '{:a>8}'.format('189')

Out[17]: 'aaaaa189'

精度与类型f

精度常跟类型f一起使用In [44]: '{:.2f}'.format(321.33345)

Out[44]: '321.33'

其中.2表示长度为2的精度,f表示float类型。

其他类型

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。In [54]: '{:b}'.format(17)

Out[54]: '10001'

In [55]: '{:d}'.format(17)

Out[55]: '17'

In [56]: '{:o}'.format(17)

Out[56]: '21'

In [57]: '{:x}'.format(17)

Out[57]: '11'

用,号还能用来做金额的千位分隔符。In [47]: '{:,}'.format(1234567890)

Out[47]: '1,234,567,890'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值