python3中format函数

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性质是一样的


你可能感兴趣的:(python3中的一些小总结)