一:填充
(1)通过位置来填充字符串
>>> print('{1},{0},{1}'.format('Zhangsan',18)) # 通过位置传递,相当方便,可以重复,可以换位置。
18,Zhangsan,18
foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……
也可以不输入数字,这样也会按顺序来填充
同一个参数可以填充多次,这个是format比%先进的地方
(2) 通过关键字传递
print('hello {name1} i am {name2}'.format(name1='Kevin',name2='Tom'))
# hello Kevin i am Tom
>>> print('{name}: {age}'.format(age=19,name='Zhangsan')) # 通过关键字传递
Zhangsan: 19
(3)通过下标来填充
(4)通过字典的Key
(5)通过对象的属性
(6)使用魔法参数
二:格式转换
b、d、o、x分别是二进制、十进制、八进制、十六进制。
三:对齐与填充
四:其他
(1)转义{和}符号
跟%中%%转义%一样,formate中用两个大括号来转义
print('{{ hello {0} }}'.format('Kevin'))
{ hello Kevin }
(2)format作为函数
(3)格式化datetime
(4){}内嵌{}
print('hello {0:>{1}} '.format('Kevin',50))
hello Kevin
(5)叹号的用法
!后面可以加s r a 分别对应str() repr() ascii()
作用是在填充前先用对应的函数来处理参数
差别就是repr带有引号,str()是面向用户的,目的是可读性,repr()是面向python解析器的,返回值表示在python内部的含义