format()基本用法
1、 %号
%号格式化字符串的方式从Python诞生之初就已经存在,
目前,Python官方没有弃用这种方式,但也不推荐这种方式。
print (‘我叫%s, 身高%scm’ % (name,height)) ** 传入的值为元组,依次填充
%s :占位符 str()
%d-:十进制 整数
%x : 十六进制
%f :浮点型
指定长度:
%5d 右对齐,不足左边补空格
%-5d - 代表左对齐,不足右边默认补空格
%05d 右对齐,不足左边补0
浮点数:
%f 默认是输出6位有效数据, 会进行四舍五入
指定小数点位数的输出 %.2f—保留小数点后2位
‘%4.8f’ 4代表整个浮点数的长度,包括小数,只有当字符串的长度大于4位才起作用.不足4位空格补足,可以用%04.8使用0补足空格
1.格式化的字符串(%s)与被格式化的字符串(传入的值)必须按照位置一一对应。
print('my name is %s and my age is %s' % ('Bob', '18'))
# my name is Bob and my age is 18
2.可以通过字典方式格式化,打破位置带来的限制和困扰
print('my name is %(name)s and my age is %(age)s' % {
'age': '18', 'name': 'Bob'})
# my name is Bob and my age is 18
2、 str.format
该format方法实在Python2.6中引入的是字符串类型的内置方法。
因为str.format的方式在性能上和使用的灵活程度上都比%更胜一筹,所以推荐使用。
2.1、使用位置参数
按照位置顺序一 一对应
str = 'my name is {} and my age is {}'.format('Bob', '18')
print(str)
# my name is Bob and my age is 18
2.2、 使用索引
使用索引获取对应的值
str = 'my name is {1} and my age is {0}'.format('18', 'Bob')
print(str) # my name is Bob and my age is 18
2.3、使用关键字参数或者字典
通过关键字参数或者字典方式可视化,打破位置带来的限制和困扰
str = 'my name is {name} and my age is {age}'.format(name='Bob'