• 技术文章 >Python技术 >Python基础教程

    Python中format函数字符串格式化入门

    silencementsilencement2019-07-18 09:22:19原创2803

    格式化在程序开发中非常常见,大家肯定不陌生,Python中也存在多重格式化方式,format函数就是其中一种。

    函数原型

    format(value[, format_spec])

    参数意义

    value: 需要被格式化的字符串

    format_spec: 格式化的格式

    函数定义与用法

    本函数把值value按format_spec的格式来格式化,然而函数解释format_spec是根据value的类型来决定的,不同的类型有不同的格式化解释。当参数format_spec为空时,本函数等同于函数str(value)的方式。

    format () 函数可以接受不限个参数,位置可以不按顺序。

    其实本函数调用时,是把format(value, format_spec)的方式转换为type(value).__format__(format_spec)方式来调用,因此在value类型里就查找方法__format__(),如果找不到此方法,就会返回异常TypeError。

    其中format_spec的编写方式如下形式:

    format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]
    fill        ::=  <any character>
    align       ::=  "<" | ">" | "=" | "^"
    sign        ::=  "+" | "-" | " "
    width       ::=  integerprecision   ::=  
    integertype ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" |
     "x" | "X" | "%"
    fill是表示可以填写任何字符。
    align是对齐方式,<是左对齐, >是右对齐,^是居中对齐。
    sign是符号, +表示正号, -表示负号。w
    idth是数字宽度,表示总共输出多少位数字。
    precision是小数保留位数。

    兼容性

    Python3.x

    Python2.6及以上版本

    注意事项

    format是是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。

    1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

    2.单个参数可以多次输出,参数顺序可以不相同

    3.填充方式十分灵活,对齐方式十分强大

    4.官方推荐用的方式,%方式将会在后面的版本被淘汰

    代码实例

    print(format(2918))
    print(format(0x500, 'X'))
    print(format(3.14, '0=10'))
    print(format(3.14159, '05.3'))
    print(format(3.14159, 'E'))
    print(format('test', '<20'))
    print(format('test', '>20'))
    print(format('test', '^20'))

    输出结果

    2918
    500
    0000003.14
    03.14
    3.141590E+00
    test                
                    test
            test
    专题推荐:format
    上一篇:python入门必会的助手函数:dir()函数 下一篇:详解float函数类型转换

    相关文章推荐

    • 手把手教你用Python处理Excel表格

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网