用format进行字符串的格式化

msg="i am {},age{}".format("alex",18)    #前面用{},后面用format传值时应保持一一对应的关系
print(msg)

msg="i am {0},age{1}".format("alex",18)    #当然也可以这么写哦,前面的0代表传入的第一个值一次类推
print(msg)

msg="i am {1},age{0}".format("alex",18)    #这样alex会传入到age后面的位置了,因为前面的0,1代表顺序
print(msg)

其实原理是把后面元组里的值赋予了前面,不信我们这么看看:
msg="i am {4},age{0}".format("alex",18,"yxz","ymz",199,"sb")    
print(msg)
#输出结果为i am 199,agealex 前面的{4}就是把后面元组中的序号为4的值给赋予进来了

msg="i am {name},age{age}".format(name="yxz",age=19)    #用字典的形式进行传值
print(msg)
msg="i am {:s},age{:d},{:.2f}".format("yxz",19,12.21212)    #:d代表传入了一个int型的数字,和之前学的联系起来(%d,%s。。。)
print(msg)
#输出结果为:i am yxz,age19,12.21

msg="i am {0},age{1},{2}".format(*["yxz",19,12.21212])    #如果format后面接受的是一个列表,需要在列表前面加一个*,如果接受的是一个字典,得加**
print(msg)

tp1="numbers:{:b},{:o},{:d},{:x},{:X},{:%}".format(15,15,15,15,15,15.8763)
print(tp1)
#输出结果为1111,17,15,f,F,1587.630000%,分别代表二进制,八进制,十进制,十六进制(小写),大写,以及百分比的格式