zoukankan      html  css  js  c++  java
  • 格式化字符串

    在Python中格式化字符串的方法:%占位操作符、format函数、F-strings

    1、%占位操作符
    格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。

    Python用一个元组将多个值传递给模板,每个值对应一个格式符。

    在模板和元组之间,有一个%号分隔,它代表了格式化操作。

    Python中的转换说明符:

    %s      字符串 (采用str()的显示)         str()得到的字符串是面向用户的,具有较好的可读性
    %r      字符串 (采用repr()的显示)       repr()得到的字符串是面向机器的
    %c     单个字符
    %b     二进制整数
    %d     十进制整数
    %i      十进制整数
    %o     八进制整数
    %x     十六进制整数
    %e     指数 (基底写为e)
    %E    指数 (基底写为E)
    %f     浮点数
    %F    浮点数,与上相同
    %g    指数(e)或浮点数 (根据显示长度)
    %G   指数(E)或浮点数 (根据显示长度)
    $$    表示$符号

    2、format函数

    基本语法是通过 {} 和 : 来代替 %

    使用方法有两种:b.format(a)和format(a,b)

    format函数可以接受不限个参数,位置可以不按顺序,也可以向 str.format() 传入对象
    format是一个方法而不是操作符,处理参数会更加明确。如果传入一个字符串,它就会被解释为一个字符串。传入只包含一个字符串的元组,那它就被解释为只包含一个字符串的元组。

    format用法:
    1)、通过位置
    2)、通过关键字
    3)、通过对象属性:在类里使用
    4)、通过下标      例子:l1 = ['a', 18]
                                            '{0[0]} is {0[1]} years old. {0[0]}'.format(l1)
    5)、填充与对齐:^、<、>分别是居中、左对齐、右对齐,后面带宽度。:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。
                             例子:'{:>10}'.format('哈行哈哈') ---居右对齐,总宽度为10,剩下的用空格填充
                                        '{:A>10}'.format('哈行哈哈')----居右对齐,总宽度为10,剩下的用A填充
    6)、精度与类型f(数字格式化)
    7)、其他进制:b、d、o、x分别是二进制、十进制、八进制、十六进制
    8)、千位分隔符:'{:,}'.format(数字)         例子: '{:,}'.format(100000) 结果为:100,000

    数字格式化
    {:.2f}         保留小数点后两位
    {:+.2f}       带符号保留小数点后两位
    {:.0f}         不带小数
    {:0>2d}     数字补零 (填充左边, 宽度为2)
    {:x<4d}     数字补x (填充右边, 宽度为4)
    {:x<4d}     数字补x (填充右边, 宽度为4)
    {:,}           以逗号分隔的数字格式(千位分隔符)
    {:.2%}      百分比格式
    {:.2e}       指数记法
    {:10d}      右对齐 (默认, 宽度为10)
    {:<10d}    左对齐 (宽度为10)
    {:^10d}     中间对齐 (宽度为10)
    {{}}           表示{}符号

    3、F-strings

    F-strings是一个以f为前缀,其中包含了表达式的字符串。表达式的结果将显示在其所在的位置上

    如果变量与替换字段同名,就可以使用f字符串

    1)、F-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化

    2)、F-strings中可以执行函数

    3)、F-strings的运行速度比%和format格式化快


    总结:
    1、简单的用%,超过两个值一般都用format
    2、编写新代码时,应选择使用字符串方法format,它融合并加强了%方法的优点

  • 相关阅读:
    平方分割poj2104K-th Number
    平方分割poj2104K-th Number
    GIT学习之路第五天 分支管理
    GIT学习之路第五天 分支管理
    daily_journal_2 神奇的一天
    daily_journal_2 神奇的一天
    51nod1264 线段相交
    51nod1264 线段相交
    51nod1265判断四点共面
    51nod1265判断四点共面
  • 原文地址:https://www.cnblogs.com/Python1/p/9146309.html
Copyright © 2011-2022 走看看