python的format
就是一个参数传递+格式化的过程
参数传递
1、位置传递,默认
fmt = "{} {}"
fmt.format("hello","world") # 相对第一次参数,传递给了第一个{},第二个参数传给了第二个{}
输出:“hello world”
2、位置传递、指定位置
fmt = "{1} {0}"
fmt.format("hello","world") # 相对第一次参数,传递给{0},第二个参数传给{0}
输出:“world hello”
3、关键字传递
fmt = "name:{name} , addr:{addr}"
fmt.format(name="ydh",addr="sichuan") # 键是name的值传递给{name},键是addr的值传递给{addr}
输出:“name:ydh , addr:sichuan”
参数传递的方式与函数的参数传递是一样的,其实调用format()就是调用函数,fmt指定format()函数的形参名字。
形参在{}中可以读取域,但不能指向形参的方法
fmt = "{0[0]} {0[1]}"
fmt.format(["hello" , “world”]
#输出:hello world
fmt = "{name:name[0]}, addr:{addr[0]}"
fmt.format(name=["ydh","xxx"], addr=["sichuan","yyy"])
#输出:name:ydh , addr:sichuan
fmt = "{0.title()}"
fmt.format("hello")
#这个会报错,说没有这个域
格式化
格式:
默认位置:{:(填充)(对齐<|>|^)(正负+|空格)(数值m.n f |.n f |n d)(数值格式%|e)(数值进制b|d|o|x|#x|#X)}
指定位置:{n :(填充)(对齐<|>|^)(正负+|空格)(数值m.n f |.n f |n d)(数值格式%|e)(数值进制b|d|o|x|#x|#X)}
关键字:{name :(填充)(对齐<|>|^)(正负+|空格)(数值m.n f |.n f |n d)(数值格式%|e)(数值进制b|d|o|x|#x|#X)}