• 详解字符串格式化输出


    很多情况下我们都需要以某种特定格式对所求结果进行输出

    通过字符串的格式化,可以输出特定格式的字符串。
    (1) 格式化字符串 %( 1 ,值 2)
    print('学生人数%d,平均成绩%2.1f'%(15, 81.2))
    (2) 字符串 .format( 1, 2,……)
    print('学生人数{},平均成绩{}'.format(15, 81.2))
    (3) str.format( 格式字符串 1, 1, 2,…)
    print(str.format('学生人数{0},平均成绩{1:2.1f}',15, 81.2))
    (4) f-strint fd'{}{}{}'.

    %格式符

    基本格式

    print( 字符串 % 格式字符 1 字符串 % 格式字符 2 字符串 %( 变量 1, 变量 2))
    1. >>> print('我叫%s今年%d岁!'%('小明',10))
    2. 我叫小明今年10岁!
    3. >>> print('圆周率%s保留三位小数为%.3f'%('pi',3.1415926))
    4. 圆周率pi保留三位小数为3.142

    1)  % 格式标志,标识格式开始;
    2)[-] 指定左对齐输出;
    3)[+] 对正数加正号;
    4)[0] 指定空位填0;
    5)[m] 指定最小宽度;
    6)[.n] 指定精度;
    7)  格式字符 指定类型
    8)% 格式运算符;
    9)x 带转换的表达式

    format

    基本格式

    print(‘字符串{标识*}字符串{标识*}字符串‘.format(变量1,变量2)) 

    标识*与顺序无关。

    1. b=100/30+0.004
    2. print(b)
    3. print('我的成绩是{:.2f}'.format(b))

    在这里b输出结果是一个无限长的小数,使用format可以控制小数的精确度。

    (通过上述例子我们还可以看到使用format时,还自动对小数进行了四舍五入处理) 

    round

    这里补充一个四舍五入的方法——round函数

    round函数有两个参数,其中第一个参数指的是要四舍五入的数据,第二个参数指的是要精确保留的位数。举个例子来说明:

    1. a=3.5647
    2. print(round(a,2))
    3. b=3.5648
    4. print(round(b,3))

     more example:

    1. >>>print('圆周率{}为{}'.format('pi',3.1415926))
    2. 圆周率pi为3.1415926
    3. >>>print('圆周率{}保留三位小数为{:+.3f}'.format('pi',3.1415926))
    4. 圆周率pi保留三位小数为+3.142
    5. >>> print('圆周率{1}保留三位小数为{0:.2e}'.format(31415926,'pi'))
    6. 圆周率pi保留三位小数为3.14e+07

    详细参数

    {[name][:][fill][align][sign][#][0][width][,][.precision][type]}’.format( 表达式 )
    • Name: 可为空,传递参数名;
    • Fill=, 可以填写任何字符;
    • Align=“<”“>”“=”“^” ,对其方式,表示左对齐、右对齐、居中对齐等。
    • sign=“+”“-” ,符号,表示正负号。
    • Width=inter ,是数字宽度,共输出多少位数字。
    • Precision=integer,是小数保留位数。(最常用)
    • Type=“b”“e”“x” ,表示输出数字的表示方式,如 b 是二进制表示, e 是指数表示, x 是十六进制表示。
    位置设定:将格式化内容的位置用大括号{}占位,所有的定义都是在format()函数中执行。
    (1) 默认位置:
    S = ' I { 0 } { 1 }, and I'am learning '.format ('like', 'Python’)
    I like Python, and I'am learning
    (2) 设置位置:
    S = 'I {1} {0} {1}, and I'am learning'.format('like', 'Python’)
    I Python like Python, and I'am learning
    (3) 设置关键字:
    S = 'I {l} {p}, and I'am learning'.format(p='Python', l='like’)
    I like Python, and I'am learning

    f-string格式

    f-string ,亦称为格式化字符串常量( formatted string literals ),是 Python3.6 新引入的 一种字符串格式化方法, f-string 在形式上是以 f F 修饰符引领的字串 (f‘xxx F‘xxx) ,以 大括号 {} 标明被替换的字段。

    格式

    f’{}

     例子

    1. >>> a=18
    2. >>> f'我的年龄是{a}'
    3. '我的年龄是18'
    4. >>>f'我的年龄是{a:8.2f}'
    5. '我的年龄是 18.00'
    f-string 大括号内所用的引号不能和大括号外的引号定界符冲突,可根据情况灵活切换 ' "

    1. >>> f'I am {"Niu"}'
    2. 'I am Ning'
    3. >>> f'I am {'Niu'}'
    4. File "", line 1
    5. f'I am {'Niu'}'
    6. SyntaxError: f-string: expecting '}
    1. >>> f"I am {'Niu'}"
    2. 'I am Ning'
    3. >>> f"I am {"Niu"}"
    4. File "", line 1
    5. f"I am {"Niu"}

    类格式化方法

    str.format( 格式化字符串,值 1 ,值 2 ,值 3)

    1. >>>str.format('圆周率{}保留两位小数为{:.3}','pi',3.1415926)
    2. '圆周率pi保留两位小数为3.14'
    3. >>>print(str.format('圆周率{}保留两位小数为{:.3}','pi',3.1415926))
    4. '圆周率pi保留两位小数为3.14'

    传送门:Python全套学习笔记

  • 相关阅读:
    nvm管理(切换)node版本,方便vue2,vue3+ts开发
    2023年(2024届)双非保研历程(中南、东南、浙大、信工所、国防科大、北邮)
    时间序列异常检测常见方法和代码
    (转载自新华网)蓄势数载业初就 | 多智能体协同控制科学研究一瞥
    iNav开源代码之Aocoda-RC F405V2 Mark4 7“ PNP适配
    1. Gradle是什么,Gradle与Maven有什么不同
    小工具——筛选图像小工具
    mybatis-plus
    java代码快速生成get和set方法
    申请全国400电话的步骤及注意事项
  • 原文地址:https://blog.csdn.net/weixin_60535956/article/details/127717056