zoukankan      html  css  js  c++  java
  • str.format()格式化方法

    前面说过%百分符格式化方法。Python官方最近逐步在推广str.format()方法的格式化。

    fromat()方法是字符串的内置方法,其基本语法如下:

    参数列表:[[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位)

    参数和用法很多,看得我都晕,全部记下来显然是没必要的,浪费脑细胞。

    去除复杂的参数,简单的format格式化方法基本有两类:

    1.{0}、{1}、{2}:这一类是位置参数,引用必须按顺序,不能随意调整,否则就乱了。例如:

    tpl = "i am {0}, age {1}, really {0}".format("seven", 18)

    2.{name}、{age}、{gender}:这一类是关键字参数,引用时必须以键值对的方式,可以随意调整顺序。例如:

    tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)

    下面是一些具体的例子,可以参考使用:

    tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
    
    tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
    
    tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
    
    tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
    
    tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
    
    tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
    
    tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
    
    tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
    
    tpl = "i am {:s}, age {:d}".format(*["seven", 18])
    
    tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
    
    tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
    
    tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
    
    tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
    
    tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
    
    tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)

    更多的用法,请参考官方文档https://docs.python.org/3/library/string.html

  • 相关阅读:
    前后端渲染
    与你一起的日子
    Python 字符串转化成整形数组
    Python列出文件和目录
    Eclipse 导入Gson包
    java.lang.NoClassDefFoundError (Eclipse)
    成功的背后!(给所有IT人)
    事件与概率
    Servlet获取form表单上传文件及其他参数
    Servelt学习笔记之二——使用Servlet提取表单中的数据
  • 原文地址:https://www.cnblogs.com/fat-girl-spring/p/14670803.html
Copyright © 2011-2022 走看看