Python:字符串格式化

字符串格式化:

字符串格式化:

    %%s 格式化为字符串

    [html] view plain copy

        >>> format = "Hello, %s. %s enough for ya?"  
        >>> values = ('world', 'Hot')  
        >>> print format % values  
        Hello, world. Hot enough for ya?  

    %f 格式化为实数(浮点数)

    [html] view plain copy

        >>> format = "Pi with three decimals: %.3f"//保留小数点后3个有效数字  
        >>> from math import pi//导入pi的值  
        >>> print format % pi  
        Pi with three decimals: 3.142  


    模板字符串:

    关键字参数(substitute):

    单词替换

    [html] view plain copy

        >>> from string import Template  
        >>> s = Template('$x, gloriout $x!')  
        >>> s.substitute(x = 'slurm')  
        'slurm, gloriout slurm!'  

    单词字母替换

    [html] view plain copy

        >>> from string import Template  
        >>> s = Template("It's ${x}tastic!")  
        >>> s.substitute(x = 'slurm')  
        "It's slurmtastic!"  

    用$$插入$符号

    [html] view plain copy

        >>> from string import Template  
        >>> s = Template("Make $ selling $x!")  
        >>> s.substitute(x = 'slurm')  
        'Make $ selling slurm!'  

    字典变量提供值

    [html] view plain copy

        >>> from string import Template  
        >>> s = Template('A $thing must never $action')  
        >>> d = {}  
        >>> d['thing'] = 'gentleman'  
        >>> d['action'] = 'show his socks'  
        >>> s.substitute(d)  
        'A gentleman must never show his socks'*作为字段宽度或精度

    [html] view plain copy

        >>> '%.*s' % (5, 'Guido van Rossum')  
        'Guido'  

    转换标志:

    -:左对齐

    +:在转换值之前加上正负号

    “ ”:正数之前保留空格

    0:转换值若位数不够用0填充

    [html] view plain copy

        >>> pi = 3.1415  
        >>> '%010.2f' % pi  
        '0000003.14'  
        >>> '%-10.2f' % pi  
        '3.14      '  
        >>> '%10.2f' % pi  
        '      3.14'  
        >>> '% 10.2f' % pi  
        '      3.14'  
        >>> '%+10.2f' % pi  
        '     +3.14'

11

字符串格式化范例

[html] view plain copy

    width = input('Please enter  ')  
      
    price_width = 10  
    item_width = width - price_width  
      
    header_format = '%-*s%*s'  
    format = '%-*s%*.2f'  
      
    print '=' * width  
      
    print header_format % (item_width, 'Item', price_width, 'Price')  
      
    print '-' * width  
      
    print format % (item_width, 'Apples', price_width, 0.4)  
    print format % (item_width, 'Pears', price_width, 0.5)  
    print format % (item_width, 'Cantaloupes', price_width, 1.92)  
    print format % (item_width, 'Dried Apricots (16 oz.)', price_width, 8)  
    print format % (item_width, 'Prunes (4 lbs.)', price_width, 12)  

结果显示:

[html] view plain copy

    Please enter  35  
    ===================================  
    Item                          Price  
    -----------------------------------  
    Apples                         0.40  
    Pears                          0.50  
    Cantaloupes                    1.92  
    Dried Apricots (16 oz.)        8.00  
    Prunes (4 lbs.)               12.00
原文地址:https://www.cnblogs.com/chjbbs/p/5672390.html