zoukankan      html  css  js  c++  java
  • python的2种字符串格式化输出

     字符串格式化代码(typecode)

     

    法一:

    %格式使用下面的格式

    %[(name)] [flags] [width][.precision] typecode

    (name)输出字典的value使用,这里的name是字典的key(实际指定时,必须有外面的圆括号)

    如:

    print("%(n)d   %(x)s" % {"n":1,"x":'spam'})

    print("%(n)d   %(x)s" % dict(n=1,x='spam'))

    注意:这种形式不能与其他形式混用,因为%后使用了{}或dict,这两种形式只能够针对”字典”

    flags取值为:-(左对齐)、+(正负号)、0(补零),不使用任何flag数字默认是右对齐

    [width]和[.precision],分别为总宽度(包括小数点)和精度(小数点后的位数),可指定为*,则须在后面的列表中明确指出具体数值(一般情况下很少指定width和precision为*

    typecode:上表中的格式化代码

     

    法二:format方法

    形式.格式

    形式:两种表示方式,位置参数(格式安装位置指定即可)关键字参数(格式必须按照name=‘value’指定)

     

      

    注意:最后这种形式,形式是以关键字执行,格式必须以name=value形式指定

    被打印的部分(即形式)通用格式

    {fieldname!conversionflag:formatspec}

    fieldname是指定参数的一个数字关键字(由此来确定匹配后面哪个参数),后面跟可选的“.name”或“[index]”成分引用

    conversionflag可以是r、s或a分别是在该值上对repr、str或ascii内置函数的一次调用。

    formatspec指定了如何表示该值,包括字段宽度、对齐方式、补零、小数点精度等细节,并且以一个可选的数据类型编码结束

    冒号:后的formatspec具体形式为:

    [[fill]align] [sign] [#] [0] [width] [.precision] [typecode]

    fill可取0,即前导补0

    align可能是<(左对齐)、>(右对齐)、=(一个标记字符后的补充)、^(居中对齐)

    字符串默认是左对齐,数字默认是右对齐

    sign可取逗号 , 在使用输出代码为d时(只能配合d使用),每三个数字输出一个逗号

    >>> '{0:,d}'.format(999999999)

    '999,999,999'

    #配合输出代码x或X或o,使输出16进制、8进制数前导加0x或0X或0o

    0补0

    width表示总宽度,包括小数点位

    [.precision]表示精度,小数点后的位数

    typecode前面的输出代码

     

    >>> '{0:X},{1:o},{2:b}'.format(255,255,255)

    'FF,377,11111111'

    >>> '{0:#X},{1:o},{2:b}'.format(255,255,255)

    '0XFF,377,11111111'

      

  • 相关阅读:
    IntelliJ IDEA隐藏不想看到的文件或文件夹
    IntelliJ IDEA更改字体和大小
    Dubbo实践(一)入门示例
    部署Jar包到远程Maven仓库
    Linux网卡别名
    ORACLE NLS_LENGTH_SEMANTICS 参数的用途
    Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果
    Notepad++格式化JSON字符串
    Xshell配色为Ubuntu风格
    【剑指offer】判断一个序列是否是二叉搜索树的后序遍历,C++实现
  • 原文地址:https://www.cnblogs.com/wyzhou/p/9887403.html
Copyright © 2011-2022 走看看