python3中format函数

来源:互联网 发布:明星页游 知乎 编辑:程序博客网 时间:2024/05/29 17:07

format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。

%能实现的format都能实现 并且功能更多,操作更方便 。

优势:

1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

2.单个参数可以多次输出,参数顺序可以不相同

3.填充方式十分灵活,对齐方式十分强大

4.官方推荐用的方式,%方式将会在后面的版本被淘汰

小例子:

print('hello %s'%'world') 等价于print ('hello { }'.format('world'))

输出为 

hello world

用法:

顺序(数值)匹配

print('hello {0} i am {1}'.format('Kevin','Tom') )  输出为   hello Kevin i am Tom

这里的大括号里面 0 和1 指的是后面format对象的顺序 。也可以自行定义顺序 输出结果顺序不同 

print('hello {0} i am {1}'.format('Kevin','Tom') )  输出为  hello Tom i am Kevin

也可以通过键值来匹配:

print ('hello {name1}  i am {name2}'.format(name1='Kevin',name2='Tom')  )输出hello Kevin i am Tom


对齐与填充

数字格式输出描述5{:0>2}05数字补零 (填充左边, 宽度为2)5{:x<4}5xxx数字补x (填充右边, 宽度为4)10{:x^4}x10x数字补x (填充右边, 宽度为4)13{:10}        13右对齐 (默认, 宽度为10)13{:<10}13左对齐 (宽度为10)13{:^10}    13中间对齐 (宽度为10特别是爬虫最后对应输出的时候 用到浅蓝色填充的部分


并且定义好格式可以直接调用内置函数:

    tplt = "{:2}\t{:8}\t{:<16}"
    print(tplt.format("序号", "价格", "商品名称"))


这里tplt.format就是直接调用了format函数。

相当于().format()等价于 前面()变成具体的变量 tplt

().format→tplt.format性质是一样的


原创粉丝点击