python format方法讲解

上一篇我们讲解了字符串的一些处理函数和处理方法,其中比较重要的一个是format方法,用于对字符串进行格式化。我们先来看一下format方法的使用语法叭


str.format(括号里面是用,分隔的参数)
python使用槽机制配合format来使用。在一段字符串中,在我们想使用定义的变量来输出的地方采用槽{}来占位就好。槽里面如果没有序号就按照默认顺序进行填充,即参数的前后顺序,如果槽里面有序号的话则按照序号填充,如果要编号的话从0开始,最大的编号为参数个数-1
我们来看下面这个例子:槽中没有序号,默认从第一个参数到最后一个参数进槽赋值。

name="胡图图"
age=6
address="翻斗大街"
father="胡英俊"
mother="张小莉"
print("我叫{},我今年{}岁了。我家住在{},我妈妈叫{},我爸爸叫{},很高兴认识大家".format(name,age,address,father,mother))

这里我写的是胡图图小朋友的自我介绍,如果你把上述的五个变量都改成你自己的信息就变成了你的自我介绍,是不是很方便呢。
在这里插入图片描述

下面看一个槽中有序号的栗子:

name="胡图图"
age=6
address="翻斗大街"
father="胡英俊"
mother="张小莉"
print("我叫{2},我今年{4}岁了。我家住在{3},我妈妈叫{1},我爸爸叫{0},很高兴认识大家".format(father,mother,name,address,age))

这里我们在槽里填充了序号,槽将根据我们写入的序号寻找对应位置的参数进行填入。结果是:在这里插入图片描述

如果我们想在format里输出大括号的话可以采用{{来表示{,}}表示},因此想要输出{}就要用{{}}来代替。例如:

pi=3.14159
print("圆周率是:{{{}}}".format(pi))

结果是:
在这里插入图片描述


我们开始下一部分内容的学习
槽中除了可以填写序号,还可以填写一些格式控制信息:
{<参数序号>:<格式控制标记>},其中格式控制标记用来控制参数显示时的格式,格式控制标记可以有以下几种作用:
①填充:用于填充的单个字符
②对齐:<表示左对齐,>表示右对齐,^表示居中对齐
③宽度:槽的设定输出宽度
④,:数字的千位分隔符,适用于整数和浮点数
⑤精度:浮点数小数部分的精度或字符串的最大输出长度
⑥类型:整数类型或浮点数类型
下面我们来逐一说明一下如何使用

A:首先前三个填充、对齐、宽度相关,就放在一起说了。
宽度是槽输出时的宽度,如果输出的实际结果宽度>设定宽度,则按照实际宽度输出,如果实际宽度<设定宽度,则使用设定宽度,实际宽度不够的默认用空格符填充。对齐是指输出结果的对齐方式,向左或向右或居中对齐。填充默认情况下采用空格填充且实际输出长度小于设定长度才会进行填充。下面举个例子大家仔细看

str="zmj真的挺棒的"
print("字符串str的输出结果为:{0:>10}".format(str))
'''
由于左对齐情况下看自动填充看不清楚我这里采用右对齐让大家看清楚,
str字符串的长度为8,这里设定的输出长度为10,由于10>8且为右对齐
则在左边补齐10-8=2个空格
'''
print("进行居中对齐且用*填充后的输出结果为:{0:*^30}".format(str))

结果是在这里插入图片描述
ps:(拿小本本记好这里)如果想要输出的时候既有自定义符号填充也想有对齐方式则要先写自定义符号再写对齐方式
{0:*^30}√ 这样写就是对的
{0:^*30}X这样写就是错的

B:’,'用于显示数字类型的千位分隔符,每三位一分割

print("{0:-^20,}".format(123456789))

结果是这样子的
在这里插入图片描述
C:‘.精度’对于浮点数表示小数部分输出的有效位数,对于字符串表示实际输出的个数

print("{0:.4f}".format(1234.56789))
print("{0:.4}".format("python"))

结果是:
在这里插入图片描述
D:类型表示输出整数和浮点数的格式规定,对于整数有二进制、十进制、八进制、十六进制(分大小写)、整数对应的Unicode码,因此有以下六种字母用于控制输出格式:
b:输出整数对应的二进制格式
c:输出整数对应的Unicode编码值
d:输出整数的十进制格式
o:输出整数的八进制格式
x:输出整数对应的小写十六进制格式
X:输出整数对应的大写十六进制格式

对于浮点数来说有以下四种形式:
e:输出浮点数对应的小写字母e的指数形式
E:输出浮点数对应的大写字母E的指数形式
f:输出浮点数的标准浮点形式
%:输出浮点数的百分比形式

好的,废话不多说上代

print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(125))
print("{0:e},{0:E},{0:%},{0:f}".format(3.14159))

结果是
在这里插入图片描述
好了,以上就是我们format的讲解内容了,你今天学废了吗
这里再说一句,拿小本本记好,当你想要按你的要求输出字符串时一定要按照
填充、对齐、宽度、’,’、’.精度’、类型的顺序填写参数不然会报错的哟
那我们下回见咯(//∇//)\

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值