format是代替%s格式的方法
不需要理会数据类型的问题,在%s方法中的%s只能代替字符串类型
填充方式十分灵活,对其方式十分强大
format填充字符串
通过位置来填充字符串
#format会把参数按位置顺序来填充到字符串中,第一个参数是0,第二个参数是1......
>>> a = 'hello {0},i am {1}'.format('zhangsan','lisi')
>>> print(a)
#也可以不输入数组,这样也会按顺序来填充
hello zhangsan,i am lisi
>>> a = 'hello {}, i am {}'.format('zhangsan','list')
>>> print(a)
hello zhangsan, i am list
#同一个参数可以填充多次,这个是format比%s先进的地方
>>> a = 'hello {0} i am {1},my name is {1}'.format('kayen','tom')
>>> print(a)
hello kayen i am tom,my name is tom
通过key来填充
>>> a = 'hello {name1} i am {name2}'.format(name1='zhangsan',name2='lisi')
>>> print(a)
hello zhangsan i am lisi
通过list的下标来填充
>>> names = ['zhangsan','lisi']
>>> a = 'hello {names[0]} i am {names[1]}'.format(names=names)
>>> print(a)
hello zhangsan i am lisi
通过字典的key来填充
>>> names = {'name1':'zhangsan','name2':'lisi'}
>>> a = 'hello {names[name1]}, i am {names[name2]}'.format(names=names)
>>> print(a)
hello zhangsan, i am lisi
format填充与对齐
^是居中
<是左对齐(填充右边)
>是右对齐(填充左边)
:号后面带填充的字符,只能指定一个字符,不指定的话默认是用空格填充
1.填充字符串左边
>>> print('{:>8}'.format('zhang'))
zhang #可以看到左边空出来了一个空格,冒号前边不加字符 默认就是空格填充
2.用'0'填充字符左边
>>> print('{:0>8}'.format('zhang'))
000zhang #可以看到左边被0填充了
3.左右用'1'填充
>>> print('{:1^10}'.format('zhang'))
111zhang111