• Python数据格式化


    Python有两种格式化字符串的方式,使用%或者使用内置format()函数。

    使用%格式化字符串

    在Python中使用%来格式化字符串,用法和效果类似于C语言中的%。格式为:%特定的转换类型 %data。

    以下是常用的转换类型

    %s   字符串
    %d   十进制整数
    %x   十六进制整数
    %o   八进制整数
    %f   十进制浮点数
    %e   科学计数法表示浮点数
    %g   十进制或科学计数法表示的浮点数
    %%   %本身

    使用%格式化的例子,如下

     1 >>> n = 52
     2 >>> f = 72.08
     3 >>> s = 'this is a test string'
     4 >>> '%s %s %s' %(n,f,s)
     5 
     6 >>> print('%s
    %s
    %s' %(n,f,s))  //以%s的方式输出
     7 52
     8 72.08
     9 this is a test string
    10 
    11 >>> print('%d
    %d' %(n,f))    //以%d的方式输出
    12 52
    13 72
    14 
    15 字符串只能以%s的方式输出
    16 
    17 >>> print('%f
    %f' %(n,f))    //以%f的方式输出
    18 52.000000
    19 72.080000
    20 
    21 
    22 >>> print('%10d
    %10f
    %10s' %(n,f,s))  //设置最小宽度为10,默认右对齐
    23         52
    24  72.080000
    25 this is a test string
    26 
    27 >>> print('%-10d
    %-10f
    %-10s' %(n,f,s))  //左对齐
    28 52        
    29 72.080000 
    30 this is a test string
    31 
    32 >>> print('%-10.4d
    %-10.4f
    %-10.4s' %(n,f,s)) //设置小数点精度
    33 0052      
    34 72.0800   
    35 this

    使用format()函数格式化字符串

    使用内置format()函数格式化数据要和{}配合使用。以下是一些使用的例子。

     1 >>> n = 52
     2 >>> f = 72.08
     3 >>> s = 'this is a test string'
     4 >>> print('{}
    {}
    {}'.format(n,f,s))  //最简单的使用方式
     5 52
     6 72.08
     7 this is a test string
     8 
     9 >>> print('{1}
    {2}
    {0}'.format(n,f,s))  //可以通过这种方式设置输出的顺序,默认0是最开始的位置,这里表示依次输出第二个、第三个、第一个数据
    10 72.08
    11 this is a test string
    12 52
    13 
    14 //format的参数可以是命名变量,或者是字典形式
    15 >>> print('{f}
    {n}
    {s}'.format(n=52,f=72.08,s='this is a test string'))
    16 72.08
    17 52
    18 this is a test string
    19 
    20 >>> dict1 = {'n':52, 'f':72.08, 's':'this is a test string'}
    21 >>> print('{0[f]}
    {0[s]}
    {0[n]}'.format(dict1))
    22 72.08
    23 this is a test string
    24 52
    25 
    26 >>> dict2 = {'n2':13, 'f2':5.08, 's2':'hello string'}
    27 >>> print('{0[f]}
    {0[s]}
    {0[n]}
    {1[f2]}
    {1[n2]}
    {1[s2]}
    {2}'.format(dict1,dict2,'string3'))
    28 72.08
    29 this is a test string
    30 52
    31 5.08
    32 13
    33 hello string
    34 string3
    35 
    36 //设置输出的格式
    37 >>> print('{0[f]:10.4f}
    {0[s]:10.4s}
    {0[n]:10d}
    {1[f2]}
    {1[n2]}
    {1[s2]:15s}
    {2}'.format(dict1,dict2,'string3'))
    38    72.0800
    39 this      
    40         52
    41 5.08
    42 13
    43 hello string   
    44 string3
    45 
    46 //可以使用>设置有对齐<设置左对齐,使用^设置居中,看下面的例子
    47 >>> print('{0[f]:>10.4f}
    {0[s]:>10.4s}
    {0[n]:>10d}
    {1[f2]}
    {1[n2]}
    {1[s2]:15s}
    {2}'.format(dict1,dict2,'string3'))
    48    72.0800
    49       this
    50         52
    51 5.08
    52 13
    53 hello string   
    54 string3
    55 
    56 >>> print('{0[f]:^10.4f}
    {0[s]:^10.4s}
    {0[n]:^10d}
    {1[f2]}
    {1[n2]:^10d}
    {1[s2]:15s}
    {2}'.format(dict1,dict2,'string3'))
    57  72.0800  
    58    this   
    59     52    
    60 5.08
    61     13    
    62 hello string   
    63 string3
    64 
    65 //另外可以设置填充字符,填充字符的位置在:之后,在排版符(<,>,^)之前
    66 >>> '{0:#^20s}'.format('center')
    67 '#######center#######'

    更多format()的格式化的内容点这里

  • 相关阅读:
    逐浪CMSv8.2发布-集成Node与Vue脚手架和PowerShell支持的新一代网站管理系统
    文化赢未来-智能做字体-逐浪字体大师1.0发布
    逐浪CMS对用户注册字段正则的自由定义(注册字段必填)
    两大高招逐浪CMS中定义省地市县三级字段显示方式
    开放融合易用@门户移动开发新体验-逐浪CMS v8.0.1全面发布[基于dotNET Core]
    点触科技安全验证新模式与逐浪CMS3.9.3新功能预览
    摩拜ofo挥师三四线市场 第二梯队面临"团灭"危机
    谷歌提出新的字体调用方案帮助提高中文字体的加载速度
    [图]Windows 10 Build 16273版本更新发布:新增可变式字体Bahnschrift
    rabbitMQ面试题 整理给自己
  • 原文地址:https://www.cnblogs.com/cedrelaliu/p/6024624.html
Copyright © 2020-2023  润新知