格式化输出(占位符%)

要实现字符串的拼接,使用占位符是的一种高效、常用的方式。
例如

name = "Li hua"
age = 24
print("Hello %s, you are %d years old" % (name, age))

其中 %s%d便是占位符,顾名思义,其作用就是替后面的变量站住这个位置
字符串后面的%是一个特殊的操作符,该操作符会将后面的变量值,替换掉前面字符串中的占位符

其详细语法格式如下:

"... %[key][flags][width][.precision][length type]conversion type ..." % values

依次介绍下上面占位符每个符号每个字段的意思

% 必须要有的符号。它标记占位符的开始。
key: 选填。映射的键,由带括号的字符序列组成,一般用于后面的values是是字典的场景。
flags: 选填。转换标志(Conversion flags), 会影响某些转换类型的结果。
width: 选填。最小字段宽度。如果指定为“”(星号),则实际宽度从值中元组的下一个元素读取,要转换的对象位于最小字段宽度和可选精度之后。
precision 选填。精度,写法为.precision(点+精度)。如果指定为“
”(星号),则实际宽度从值中元组的下一个元素读取,要转换的值位于精度之后。
length type: 选填。长度修改器。
Conversion type: 必须要有的符号。转换类型,也标记占位符的开始。

Conversion type

由于这个字段是必选字段,所以最先介绍(%写法是固定的,Conversion type则必须要选择一个转换类型)
类型有很多,只介绍三个非常常用的,(更多的建议查阅官方文档:printf-style-string-formatting)

在这里插入图片描述

>>> "%s  %s  %s" % ("hello", 3, 3.1415)
'hello  3  3.1415'
>>> "%s  %d  %d" % ("hello", 3, 3.1415)
'hello  3  3'
>>> "%s  %d  %f" % ("hello", 3, 3.1415)
'hello  3  3.141500'
>>> "%s  %f  %f" % ("hello", 3, 3.1415)
'hello  3.000000  3.141500'

precision
对于有小数的场景,设置精度是基本操作。
其写法为.precision(点+精度)。
不设置的话,浮点数默认精度值是6。

>>> '%f' % 3.14
'3.140000'
>>> '%.1f' % 3.14
'3.1'
>>> '%.2f' % 3.14
'3.14'
>>> '%.3f' % 3.14
'3.140'
>>> '%.4f' % 3.14
'3.1400'

————————————————
版权声明:本文为CSDN博主「大爽歌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/python1639er/article/details/112325519

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值