format格式化详解

Posted yangli0504

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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}

 

以上是关于format格式化详解的主要内容,如果未能解决你的问题,请参考以下文章

C#详解format函数,各种格式化

Python print函数及format()格式化输出详解

Python3之字符串格式化format函数详解(上)

String.format 详解

Python基础之格式化输出函数format()功能详解

Hive date_format() 详解及其注意事项#yyds干货盘点#