开发者学堂课程【Python 入门 2020年版:字符串的 format 方法】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10291
字符串的 format 方法
内容介绍
一、概念
二、字段名
三、举例说明
一、概念:
str.format()方法通过字符串中的大括号来识别替换字段 replacement field,从而完成字符串的格式化。
替换字段由字段名 field name 和转换字段 conversion field 以及格式说明符 format specifier 组成,即一般形式为{字段名!转换字段:格式说明符}。
字段名分为简单字段名 simple field name 和复合字段名 compound field name。而转换字段和格式说明符都是可选的。
二、字段名
form 的完整格式是{字段名!转换字符:格式说明符}。其中字段名师必须的,而且可以分为简单字段名和复合字段名。
1.简单字段名
简单字段名由三中写法:
l 省略字段名:0
l 使用非负十进制整数{0}
l 变量名{(name}
三、举例说明
代码(05-字符串 format方法的使用)
1.{}
format的使用更多,因为不需要考虑输出的是%d还是%S;在此一一对应填充 format()里的内容至{ }中,输出结果为:大家好,我是张三,我今年18岁了
#{ }也可以表示进行占位,
#{ }什么都不写,会自动读取后面的内容,一一对应填充
x ='大家好,我是{ },我今年{ }岁了'.format('张三',18)
printf(x)
l 输出结果:
大家好,我是张三,我今年18岁了
2.{数字}
#{ 数字 }根据数字的顺序来进行填入。数字从0开始
y ='大家好,我是{1},我今年{0}岁了'.format(20,"jerry ')
//效果就是,当遇到第一个括号,其中我是{1}即对应 format之后第1个值的 jerry,今年{0}岁对应着第0个值20。
printf(y)
l 输出结果:
大家好,我是 jerry,我今年20岁了
3.{变量名}
#{ 变量名 }
z ='大家好,我是{name} ,我今年{age)岁了,我来自{addr} '.format(age=18,name= 'jack ',addr= '襄阳')
printf(z)
l 输出结果:
大家好,我是 jack,我今年18岁了,我来自襄阳
4.{数字}和{变量}同时使用
#混合使用{数字}{变量} //一般不做使用,过于麻烦。
a = '大家好,我是{name},我今年{1}岁了,我来自{0}'.format('泰国',23,name='tony')
//在此为一一对应的关系,读到 name对应着 tony,1对应着值23,0对应着值泰国。
//需要注意的是,变量=?要写在最后面,写在前面就会报错。
print(a)
l 输出结果:
大家好,我是 tony ,我今年23岁了,我来自泰国
5.{}和{数字}不可混用
因为{}表示按一一填入,但是有数字就会打乱顺序。
#{}什么都不写 {数字}两者不能混合使用
6.向{}填入另一列表元素
l 普通版
定义一个列表 d此时要将 d的第0个,第1个,第2个和第3个一个个填充至 b,分别表示姓名,年龄,地址和身高。利用下标的形式。
d=['zhangsan',18,'上海",180]
b ='大家好,我是{},我今年{}岁了,我来自{},身高{}cm'.format(d[0],d[1],d[2],d[3])
print(b)
l 进阶版
//如果是一个列表时,可以进行拆包,写成*d,表示把一个列表,拆成多个数据,并一一对应的放入。
d=['zhangsan',18,'上海",180]
b ='大家好,我是{},我今年{}岁了,我来自{},身高{}cm'.format(*d)
print(b)
l 输出结果(普通版和进阶版写法输出结果一致)
大家好,我是 zhangsan,我今年18岁了,我来自上海,身高180cm
7. 向{}插入字典元素
//假设插入数据在字典中,要注意传送字典数据要一一对应,上方写的是 name,之后也要写 name。填写好对应变量,再在 format()内加上**info即可。
info = { ' name ' : 'chris ' , 'age': 23,' addr ': '北京', 'height ' : 190}
c = '大家好,我是{name},我今年{age}岁了,我来自{addr} ,身高{height}cm'.format(**info)
//下方填写我是 { name },我来自{age}的顺序乱了没有关系,因为它是参照{}中的变量去上面的字典中寻找对应的变量名。输出结果依然是对应的年龄和姓名。
print(c)
输出结果:
大家好,我是 chris,我今年23岁了,我来自北京,身高190cm