信息发布→ 登录 注册 退出

Python格式化输出之format用法详解

发布时间:2026-01-11

点击量:
目录
  • format用法
  • 一、填充
    • 1.无参(1)
    • 2.无参(2)
    • 3.无参(3)
    • 4.key value
    • 5.列表
    • 6.字典
    • 7.类
    • 8.魔法参数
  • 二、数字格式化
    • 三、叹号用法
      • 总结

        format用法

         相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’

        使用方法由两种:b.format(a)和format(a,b)。

        一、填充

        1.无参(1)

        print('{} {}'.format('hello','world'))
        

        hello world

        2.无参(2)

        print('{0} {1}'.format('hello','world'))
        

        hello world

        3.无参(3)

        print('{1} {0} {1}'.format('hello','world'))
        

        world hello world

        4.key value

        print('ID:{id},Name:{name}'.format(id='001',name='hello'))
        

        ID:001,Name:hello

        5.列表

        list=['001','hello']
        print('ID:{List[0]},Name:{List[1]}'.format(List = list))
        print('ID:{0[0]},Name:{0[1]}'.format(list))
        

        ID:001,Name:hello
        ID:001,Name:hello

        6.字典

        dict={'id':'001,'name':'hello'}
        print('ID:{Dict[0]},Name:{Dict[1]}'.format(Dict = dict))
        print('ID:{id},Name:{name}'.format(**dict))
        

        ID:001,Name:hello
        ID:001,Name:hello

        7.类

        class value():
            id = '001'
            name = 'hello'
        print('ID:{Value.id},Name{Value.name}'.format(Value = value))
        

        ID:001,Name:hello

        8.魔法参数

        *args表示任何多个无名参数,它是一个tuple or list;**kwargs表示关键字参数,它是一个 dict。

        args = [',','.']
        kwargs = {'id': '001','name':'hello'}
        print('ID:{id}{}Name:{name}{}'.format(*args, **kwargs))
        

        ID:001,Name:hello.

        二、数字格式化

        数字格式输出描述
        3.1415926{:.2f}3.14保留小数点后两位
        3.1415926{:+.2f}+3.14带符号保留小数点后两位
        -1{:+.2f}-1.00带符号保留小数点后两位
        2.71828{:.0f}3不带小数
        5{:0>2d}05数字补零 (填充左边, 宽度为2)
        5{:x<4d}5xxx )数字补x (填充右边, 宽度为4
        10{:x<4d}10xx )数字补x (填充右边, 宽度为4
        1000000{:,}1,000,000以逗号分隔的数字格式
        0.25{:.2%}25.00%百分比格式
        1000000000{:.2e}1.00e+09指数记法
        13{:>10d}13右对齐 (默认, 宽度为10)
        13{:<10d}13左对齐 (宽度为10)
        13{:^10d}13中间对齐 (宽度为10)
        11‘{:b}’.format(11)1011二进制
        11‘{:d}’.format(11)11十进制
        11‘{:o}’.format(11)13八进制 //这里打成中文的冒号了,因为用英文的会打出一个O的表情~~~
        11‘{:x}’.format(11)b十六进制
        11‘{:#x}’.format(11)0xb0x式十六进制+小写
        11‘{:#X}’.format(11)0xB0x式十六进制+大写

        三、叹号用法

        print(‘{!s}好'.format(‘你')) 
        print(‘{!r}好'.format(‘你')) 
        print(‘{!a}好'.format(‘你')) 
        

        你好
        ’你’好
        ’\u4f60’好

        !后面可以加s r a 分别对应str() repr() ascii() 作用是在填充前先用对应的函数来处理参数

        差别就是

        str()是面向用户的,目的是可读性,

        repr()带有引号,

        ascii()是面向Python解析器的,返回值表示在python内部的含义,ascii (),返回ascii编码

        总结

        在线客服
        服务热线

        服务热线

        4008888355

        微信咨询
        二维码
        返回顶部
        ×二维码

        截屏,微信识别二维码

        打开微信

        微信号已复制,请打开微信添加咨询详情!