Python格式化输出与format函数

本文主要整理和汇总python一系列的格式化输出方式:

打印整数

print ("I'm number %d" % (20))

>>> I'm number 20  

打印浮点数(默认)

print("This book's weight is %f kg" % (0.85))

>>> This book's height is 0.850000 kg 

打印浮点数(指定位数)

print("His height is %.2f m" % (1.73))

>>> His height is 1.73 m 

打印字符串

print("My name is %s" % ('terry'))

>>> My name is terry 

打印指定占位符宽度

print("Type:%9s Value:%3d Latency:%5.2f" % ('AVP_KMOD', 44, 0.45))

>>> Type: AVP_KMOD Value: 44 Latency: 0.45 

打印指定占位符(左对齐)

print("Name:%-10s Age:%-8d Height:%-8.2f"%("Terry",25,1.83))

>>> Name:Terry      Age:25       Height:1.83 

打印指定占位符(前导0)

print ("Speed:%010d Rate:%08d Height:%08.2f"%(1000,25,1.83))

>>> Speed:0000001000 Rate:00000025 Height:00001.83 

在python2.6之后,又增加了一种格式化字符串的函数str.format(),通过{}来代替%。
用法主要包含以下几类:

通过位置
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次:

print('{0},{1},{0}'.format('aaa', 'bbb'))

>>> aaa,bbb,aaa  

通过关键字参数

print('{name},{age}'.format(age=18,name='Terry'))

>>> Terry,18  

通过对象属性

class Person:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __str__(self):
        return 'This guy is {self.name},he is {self.age} old.'.format(self=self)

print str(Person('Terry',18))

>>> This guy is Terry,he is 18 old.

通过下标

person = ['Terry',18]
print('{0[0]},{0[1]}'.format(person))

>>> Terry,18

通过格式
如上面的前导0:

print('{:0>8}'.format('189'))
print('{:>8}'.format('189'))
print('{:a>8}'.format('189'))

>>> 00000189
>>>      189
>>> aaaaa189

以及浮点数:

print('{:.2f}'.format(321.33345))

>>> 321.33

其他类型
主要就是二进制b、十进制d、八进制o、十六进制x:

print('{:b}'.format(46))
print('{:d}'.format(46))
print('{:o}'.format(46))
print('{:x}'.format(46))

>>> 101110
>>> 46
>>> 56
>>> 2e

此外, 用逗号还能用来做金额的千位分隔符。

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

>>> 99,988,844,333
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值