format格式化详解

format函数可以接受不限个数,位置可以不按顺序。

1.不设置指定位置,按默认顺序:

print('我叫{},今年{}岁'.format('全帅','80’))

输出:我叫全帅,今年80岁

根据参数,默认按顺序,往{}传值

2.设置指定,根据下标

print('我叫{0},今年{1}岁'.format('全帅','80’) )

输出:我叫全帅,今年80岁

根据0,1下标,参数第一位,传入0,第二位,传入1,第三位传入2,前面{}内填的几,后面就根据前面往里传参;

3.设置参数 

print('我叫{name},今年{age}岁'.format(name='全帅',age='80’))

输出:我叫全帅,今年80岁

根据设置的参数,向{}中对应的参数传值;

4.通过字典设置参数

test={'name':'全帅','age':'80'}

print('我叫{name},今年{age}岁'.format(**test))

输出:我叫全帅,今年80岁

**打散字典,后面会有介绍

把字典打散成name='全帅',age='80’的样式,在往前面对应得{}传值

5.通过列表传值

test=['全帅','18']

print('我叫{0[0]},今年{0[1]}岁'.format(test))

输出:我叫全帅,今年80岁

0代表的就是第一个参数,因为参数是列表,我们需要用下标把值取出来,[数]就是下标,具体后面会有介绍,取出值传入对应的{}中;

6.通过对象传值

class Foo:

  def __init__(self,name,age):

    self.name=name

    self.age=age

f1=Foo('name',80)

print('我叫{0.name},今年{0.age}岁'.format(f1))

输出:我叫全帅,今年80岁

因为第一个参数为对象,所有直接用0.就可以调用对象的属性,传入到{}中

7.数字格式化:

^居中,<左对齐,>右对齐,后面带宽度,:号后面带填充的字符,只能是一个字符,不指定则默认是空格填充。+表示在正数前显示+,负数前显示-; (空格) 表示在正数前加空格;

b、d、o、x分别是二进制、十进制、八进制、十六进制。

我们还可以用{}来转义大括号,如:{{80}},结果为{80}

猜你喜欢

转载自www.cnblogs.com/yangli0504/p/9135659.html