• python--字符串格式化


    python的字符串格式化有两种方式:百分号方式、format方式。百分号方式相对来说比较老,而format方式则是比较先进的方式。

    1)百分号格式

    语法:
      %[(name)][flags][width].[precision]typecode

      name:--可选,用于选择指定的key
      flags: --可选,可供选择的值有:
        +:--右对齐,正数前加正号,负数前加负号
        -:--左对齐,正数前无符号,负数前加负号
      空格:--右对齐,正数前加空格,负数前加负号
        0:--右对齐,正数前无符号,负数前加负号,用0填充空白处
      --可选,占有宽度
      precision:--可选,小数点后保留的位数
      typecode:--必选,可供选择的值有:
        %s 字符串 (采用str()的显示)
        %r 字符串 (采用repr()的显示)
        %c 单个字符
        %b 二进制整数
        %d 十进制整数
        %i 十进制整数
        %o 八进制整数
        %x 十六进制整数
        %e 指数 (基底写为e)
        %E 指数 (基底写为E)
        %f 浮点数
        %F 浮点数,与上相同
        %g 指数(e)或浮点数 (根据显示长度)
        %G 指数(E)或浮点数 (根据显示长度)
        %% 表示一个字符"%"

    注意:python中百分号格式化是不存在自动将整数转换成二制表示的方式

    常用格式化示例:

     1 str1 = "I am learning %s" % "python"
     2 
     3 str2 = "my name is %s , age %d" %("yusheng_liang", 20)
     4 
     5 str3 = "my name is %(name)s , age %(age)d" %{"name": "yusheng_liang", "age": 20}
     6 
     7 str4 = "precent %.2f" % 99.97654
     8 
     9 str5 = "I am %(qq).2f" %{"qq": 123.45678}
    10 
    11 str6 = "I am %(qq).2f %%" %{"qq": 123.45678}
    12 
    13 
    14 print("str1:", str1)
    15 print("str2:", str2)
    16 print("str3:", str3)
    17 print("str4:", str4)
    18 print("str5:", str5)
    19 print("str6:", str6)
    View Code

    示例结果:

     

    2)format方式

    语法:
      [[fill]align][sign][#][0][width][,][.precision][type]

      fill:--可选,空白处填充的字符
      align:--可选,对齐方式(需配合width使用)
        <内容左对齐
        >:内容右对齐(默认)
        =:内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。即:符号+填充物+数字
        ^:内容居中
      sign:--可选,有无符号数字
        +:正号加正,负号加负
        -:正号不变,负号加负
      空格:正号空格,负号加负
      #:--可选,对于二进制、八进制、十六进制,如果加上#,会显示0b/0o/0x,否则不显示
      ,:--可选,为数字洄分隔符,如:1,000,000
      --可选,格式化位所占宽度
      .precision:--可选,小数位保留精度
      type:--可选,格式化类型
      对于整数类型,输出格式包括6 种:
        b: 输出整数的二进制方式;
        c: 输出整数对应的 Unicode 字符;
        d: 输出整数的十进制方式;
        o: 输出整数的八进制方式;
        x: 输出整数的小写十六进制方式;
        X: 输出整数的大写十六进制方式;

      对于浮点数类型,输出格式包括4 种:
        e: 输出浮点数对应的小写字母 e 的指数形式;
        E: 输出浮点数对应的大写字母 E 的指数形式;

        f: 输出浮点数的标准浮点形式;

        %: 输出浮点数的百分形式。

    常用格式化示例:

     1 str1 = "I am {}, age {}".format("yusheng_liang", 20)
     2 str2 = "I am {}, age {}".format(*["yusheng_liang", 20])
     3 str3 = "I am {0}, age {1}".format("yusheng_liang", 20)
     4 str4 = "I am {name}, age {age}".format(name = "yusheng_liang", age = 20)
     5 str5 = "I am {name}, age {age}".format(**{"name": "yusheng_liang", "age": 20})  #以字典的方式提供数据
     6 str6 = "I am {0[0]}, age {0[1]}, set {1[2]}".format([1, 2, 3], [11, 22, 33])
     7 str7 = "I am {:s}, age {:d}, money {:f}".format("yusheng_liang", 20, 5000.23)
     8 str8 = "I am {:s}, age {:d}".format("yusheng_liang", 20)
     9 str9 = "I am {name:s}, age {age:d}".format(name = "yusheng_liang", age = 20)
    10 str10 = "I am {name:s}, age {age:d}".format(**{"name": "yusheng_liang", "age": 20})
    11 str11 = "number: {:b}, {:o}, {:d}, {:x}, {:X}, {:%}".format(15, 15, 15, 15, 15, 15, 15.456, 2)
    12 
    13 
    14 print("str1:", str1)
    15 print("str2:", str2)
    16 print("str3:", str3)
    17 print("str4:", str4)
    18 print("str5:", str5)
    19 print("str6:", str6)
    20 print("str7:", str7)
    21 print("str8:", str8)
    22 print("str9:", str9)
    23 print("str10:", str10)
    24 print("str11:", str11)
    View Code

    示例结果:

  • 相关阅读:
    VS2005调试网站时不显示Flash元素
    js中使用弹出窗体
    Ipod Touch/Iphone歌词同步软件整理
    Chrome Dev 4.0.*增加flash支持
    字符串数组排序(qsort参数 比较函数)
    查找两个已经排好序的数组的第k大的元素
    求用1,2,5这三个数不同个数组合的和为100的组合个数
    Hadoop分布式环境下的数据抽样(转)
    Reservoir Sampling
    欧拉回路
  • 原文地址:https://www.cnblogs.com/june-L/p/11629086.html
Copyright © 2020-2023  润新知