• 零基础学python-7.7 字符串格式化方法(2)


    紧接着上一章节,这一章节我们聊聊怎样添加具体格式化

    就是指定替换字段的大小、对齐方式和特定的类型编码,结构如下:

    {fieldname!conversionflag:formatspec}

    fieldname指定参数的一个数字或者关键字,后面可选.name或者[index]引用

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

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

    >>> '{0:10}={1:10}'.format ('abcde',1.234566789)
    'abcde     =1.234566789'
    >>> '{0:10}={1:3}'.format ('abcde',1.234566789)
    'abcde     =1.234566789'
    >>> '{0:10}={1:3}'.format ('abcde',123456678.9)
    'abcde     =123456678.9'
    >>> '{0:<10}={1:3}'.format ('abcde',123456678.9)
    'abcde     =123456678.9'
    >>> '{0:>10}={1:3}'.format ('abcde',123456678.9)
    '     abcde=123456678.9'
    >>> import sys
    >>> '{0.platform:>10}={1:3}'.format (sys,123456678.9)
    '     win32=123456678.9'

    上面举了一些例子

    {0:10}表示一个10字节宽的字段的参数

    {0:<10}表示一个左对齐的10字节宽的字段的参数

    {0:>10}表示一个右对齐的10字节宽的字段的参数

    {0.platform}读取sys模块的属性

    下面再举一些例子

    >>> '{0:e},{1:.3e},{2:g}'.format (3.141592,3.141592,3.141592)
    '3.141592e+00,3.142e+00,3.14159'
    >>> '{0:f},{1:.2f},{2:06.2f}'.format (3.141592,3.141592,3.141592)
    '3.141592,3.14,003.14'
    >>> 

    {0:e}代表使用科学计数法来表示

    {1:.3e}只保留三位小数的科学计数法来表示

    {2:g}使用g来表示浮点数

    {1:.2f}保留两位小数的浮点数

    {2:06.2f}六字节款的保留两位小数不足宽度补零的字符串


    除了上面的十进制,还支持八进制、十六进制

    >>> '{0:X},{1:o},{2:b}'.format (255,255,255)
    'FF,377,11111111'
    >>> bin(255),int('11111111',2),0b11111111
    ('0b11111111', 255, 255)

    还支持在format里面嵌入表达式,动态获取

    >>> '{0:f},{1:.2f},{2:06.2f}'.format (1/3,1/3,1/3)
    '0.333333,0.33,000.33'

    就说到这里,谢谢大家

    ------------------------------------------------------------------

    点击跳转零基础学python-目录




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    有趣的网抑云
    [扩展阅读] timeit 模块详解(准确测量小段代码的执行时间)
    第044讲:魔法方法:简单定制
    第043讲:魔法方法:算术运算2
    第042讲:魔法方法:算术运算1
    第041讲:魔法方法:构造和析构
    吴恩达深度学习 第一课第四周课后编程作业 assignment4_2
    吴恩达深度学习 第一课第四周课后编程作业 assignment4_1
    第040讲:类和对象:一些相关的BIF
    [扩展阅读] property 的详细使用方法
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4774486.html
Copyright © 2020-2023  润新知