• 格式化、format格式化用法---Python重新开始第三天(一)


    一、字符串格式化

    #打印浮点数 (%f指的是浮点数,%后加.2保留两位小数)
    tpl = "percent %.2f" % 99.976234444444444444
    print(tpl)

    >>>percent 99.98

    #打印百分比( %%表示“%”)
    tpl = 'percent %.2f %%' % 99.976234444444444444
    print(tpl)

    >>>percent 99.98 %

    #%s可以表示任意参数,%d只能传一个int类型

    tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
    print(tpl)

    >>>i am alex age 18

    #  “+”代表右缩进60位  “-”代表左缩进60位

    msg='i am %(name)+60s my hobby is alex' %{'name':'lhf'}
    print(msg)

    >>>i am                                                          lhf my hobby is alex

    #这条是改输出的字体颜色

    msg='i am 33[43;1m%(name)+60s33[0m my hobby is alex' %{'name':'lhf'}

    print(msg)

    >>>i am                                                          lhf my hobby is alex

    #尽量不要用“+” ,会占用内存, 用sep,传入一个分隔符

    print('root','x','0','0',sep=':')

    >>>root:x:0:0
    print('root'+':'+'x'+':'+'0','0')

    >>>root:x:0 0

    二、format格式化的用法

      1 [[fill]align][sign][#][0][width][,][.precision][type] 

      • fill           【可选】空白处填充的字符
      • align        【可选】对齐方式(需配合width使用)
        • <,内容左对齐
        • >,内容右对齐(默认)
        • =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字
        • ^,内容居中
      • sign         【可选】有无符号数字
        • +,正号加正,负号加负;
        •  -,正号不变,负号加负;
        • 空格 ,正号空格,负号加负;
      • #            【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示
      • ,            【可选】为数字添加分隔符,如:1,000,000
      • width       【可选】格式化位所占宽度
      • .precision 【可选】小数位保留精度
      • type         【可选】格式化类型
        • 传入” 字符串类型 “的参数
          • s,格式化字符串类型数据
          • 空白,未指定类型,则默认是None,同s
        • 传入“ 整数类型 ”的参数
          • b,将10进制整数自动转换成2进制表示然后格式化
          • c,将10进制整数自动转换为其对应的unicode字符
          • d,十进制整数
          • o,将10进制整数自动转换成8进制表示然后格式化;
          • x,将10进制整数自动转换成16进制表示然后格式化(小写x)
          • X,将10进制整数自动转换成16进制表示然后格式化(大写X)
        • 传入“ 浮点型或小数类型 ”的参数
          • e, 转换为科学计数法(小写e)表示,然后格式化;
          • E, 转换为科学计数法(大写E)表示,然后格式化;
          • f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
          • F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;
          • g, 自动在e和f中切换
          • G, 自动在E和F中切换
          • %,显示百分比(默认显示小数点后6位)

    例子:

     1 tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
     2 print(tpl)
     3 # >>>i am seven, age 18, alex
     4 #必须一一对应,否则会报错
     5 
     6 tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
     7 print(tpl) 
     8 # >>>i am seven, age 18, alex
     9 
    10 tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
    11 print(tpl)   
    12 # >>>i am seven, age 18, really seven
    13 
    14 tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
    15 print(tpl)   
    16 # >>>i am seven, age 18, really seven
    17 
    18 tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
    19 print(tpl)   
    20 # >>>i am seven, age 18, really seven
    21 
    22 tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
    23                                                       # ** 代表传字典
    24 print(tpl)
    25 # >>>i am seven, age 18, really seven
    26 
    27 tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
    28 print(tpl)   
    29 # >>>i am 1, age 2, really 3
    30 
    31 tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
    32              # s 代表字符串 d 代表整数
    33 print(tpl) 
    34 # >>>i am seven, age 18, money 88888.100000
    35 
    36 tpl = "i am {:s}, age {:d}".format(*["seven", 18])
    37                                    # * 代表列表
    38 print(tpl) 
    39 # >>>i am seven, age 18
    40 
    41 tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
    42 print(tpl)  
    43 # >>>i am seven, age 18
    44 
    45 tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
    46 print(tpl)  
    47 # >>>i am seven, age 18
    48 
    49 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
    50                # 2进制 8进制 10进制  x与X: 16进制 %:百分比
    51 print(tpl) 
    52 # >>>numbers: 1111,17,15,f,F, 1587.623000%
    53 
    54 tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
    55 print(tpl) 
    56 # >>>numbers: 1111,17,15,f,F, 1587.623000% 
    57 
    58 tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
    59 print(tpl)  
    60 # >>>numbers: 1111,17,15,f,F, 1500.000000%
    61 
    62 tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
    63 print(tpl) 
    64 # >>>numbers: 1111,17,15,f,F, 1500.000000%

    示例:

  • 相关阅读:
    创业者要有杀手气质和传教士能力
    一次只专心地做一件事,全身心地投入并积极地希望它成功
    以变应变,才有出路
    得到的并不一定就值得庆幸,失去的也并不完全是坏事情
    独处可以激发思考的力量
    把情感装入理性之盒
    随着现实的变化,我们必须随之调整自己的观念、思想、行动及目标
    岁月在变迁,彼此在成长。而我在流浪
    [TJOI 2016&HEOI 2016]排序
    [HAOI 2008]糖果传递
  • 原文地址:https://www.cnblogs.com/lishuaing/p/10673554.html
Copyright © 2020-2023  润新知