问:这是控制格式的么?
答案:是的
举个例子:
print("大家好,今天是星期1,明天是星期2,后天是星期3")
s1 = "大家好,今天是星期{},明天是星期{},后天是星期{}".format(1,2,3)
print(s1)
大家好,今天是星期1,明天是星期2,后天是星期3
大家好,今天是星期1,明天是星期2,后天是星期3
基本上的理解,就是,这种括号{}里面的东西我先不写,由format中对应的数字或者字符来填入。
当然后面的数字也可以写成字符串。
这个东西可以干什么用?
我觉得吧,如果,你在输出很多相近的信息的时候,可以通过这种方法来减少代码量。同时代码显得更加的工整。
举个例子:
name = ["张三","李四","王五","你六","我六","大家六"]
age = ["15","16","18","17","20","26"]
sex = ["man","woman","man","woman","man","man"]
for i in range(0,6):
print("我们班级中名字叫做{}的,年龄是{},性别是{}".format(name[i],age[i],sex[i]))
我们班级中名字叫做张三的,年龄是15,性别是man
我们班级中名字叫做李四的,年龄是16,性别是woman
我们班级中名字叫做王五的,年龄是18,性别是man
我们班级中名字叫做你六的,年龄是17,性别是woman
我们班级中名字叫做我六的,年龄是20,性别是man
我们班级中名字叫做大家六的,年龄是26,性别是man
这样用来一一对应。显得代码还比较工整。
还能怎么用?
实际上,前面的{}中如果我们不填入数据,那么默认是按照0,1,2,……这种顺序来排列的,后面的format中也是从前到后依次是0,1,2,……这样对应。
如果我们换一下顺序:
s3 = "大家好,今天是星期{1},明天是星期{0},后天是星期{2}"
print(s3.format(1,2,3))
大家好,今天是星期2,明天是星期1,后天是星期3
注意:
括号中的数字代表的不是数字本身,而是下标,也就是说,0代表第一个数据,1代表后面第二个数据,2代表后面第三个数据。
在这个里面0指的就是format中的第一个元素,1指的就是format中的第二个元素,2指的就是format中的第三个元素。
所以输出的结果就是上面的样子。
format的使用方法,类似于qt中的arg方法,有点像,但又不那么像!