str.format()
(是控制输出的一种函数)
基本用法:
print("{},{}".format("你好","再见"))
每个{}会被format中的参数替换;
{}中也可填写数字,如{0},代表对应format中的第几个参数,从0开始,数字位置随意,如print("{1},{0}".format("你好","再见")) 结果是:再见,你好。
ValueError: cannot switch from automatic field numbering to manual field specification
print("{},{1}".format("你好","再见"))
如果你选择填写数字来控制打印的顺序,那么就要在所有{}中写数字,否则就会报错如上。
正确代码
print("{0},{1}".format("你好","再见"))
打印结果:
你好,再见
然后我还无聊的玩了一会
print("{1},{2}".format("你好","再见","哈哈"))
结果正确:
再见,哈哈
多写不打印出来也是可以的。
print("{1},{3}".format("你好","再见","哈哈"))
结果当然错误:
IndexError: tuple index out of range
print("{1},{0,2}".format("你好","再见","哈哈"))
结果错误:
KeyError: '0,2'
感觉和数组差不多吧。
format还可以使用关键字参数
但是要放到format最后,否则会报错
print("{index},{0}".format(index ="你好","再见"))
正确代码:
print("{index},{0}".format("再见",index ="你好"))
但是有一点要注意,此时数字的最大值要把关键字指定的数量减去,如print("{index},{1}".format("再见",index ="你好"))就会报出index越界的错误。
format 的用法还有一些,如{0:.3f}表示数字保留3位小数;{1:10d}表示打印出来的宽度,等等;还可以传入一个字典, 然后使用方括号 '[]' 来访问键值。