python字符串详解(3)

本文详细介绍了Python中的三种字符串格式化方法:format()、%和f-string。通过示例展示了如何使用这些方法进行字符串格式化,包括指定位置、名称、对齐方式、填充字符、宽度、精度等。同时,提到了数字的千位分隔符和不同类型的数值格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

格式化字符串:

格式化是对字符串进行格式表达的方式

格式化字符串是指将指定的字符串转换为想要的格式。python中

有3种格式化字符串的方式,使用format()方法格式化、使用%格式化和使用f—string格式化。

format()格式化方法:

字符串格式化使用.format()方法,用法如下:

<模板字符串>.format(<逗号分割的参数>)

str.format(values)

以上格式中,str表示需要被格式化的字符串,字符串中包含单个或多个为真实数据占位的符号{}

values表示单个或多个待替换的真实数据,多个数据之间用逗号分割。

示例如下:

print("{}:计算机{}的CPU占用率为{}%".format("2018-10-10","C",10))

三个槽在不指定的情况下位置默认为0,1,2

format函数的三个参数默认三个参数的顺序为0,1,2

其中的槽,在字符串被格式化的时候,Python解释器默认会按从左到右的顺序将{ }逐个替换为真实的数据。即format里面的由逗号分割的参数会逐一填到前面的槽里

其中,槽的序数为从左到右从0开始,format参数从左到右序数为从0开始。

运行所示:

我们也可以在槽中指定需要添加的参数的位置,format()参数按照对应的顺序填到模板字符串的槽中。即2018-10-10在format参数里的位置为0,填到槽数为0的地方。

代码如下:

print("{1}:计算机{2}的CPU占用率为{0}%".format("2018-10-10","C",10))

运行界面如下:

 字符串的{ }槽里可以指定名称·,字符串在被格式化时python解释器会按真实数据绑定的名称替换{}中的变量。所指定的名称与format里面的参数的名称一致。

代码如下:

a="2018-10-10"
b="C"
c=10
str=f"{a}:计算机{b}的CPU占用率为{c}%"
print(str.format(a=a,b=b,c=c))

运行界面如下:

槽内部对格式化的配置方式

{<参数序号>:<格式控制标记>}

:

引导符号
<填充>用于填充的单个字符
<对齐>

<为左对齐 >为右对齐  ^为居中对齐

<宽度>槽设定的输出宽度
<,精度>浮点数小数 精度或字符串   最大输出长度
<,>数字的千位分隔符
<类型>整数类型  b,c,d,o,x,X  浮点数类型  e,E,f,%

其中前三个<填充>、<对齐>、<宽度>为一组概念,这组概念的基本模式是:

首先给出一个输出宽度

第二要决定即将输出的这个参数在这个宽度中的对齐方式。

第三确定对齐之后,如果还有剩余的空间,确定用什么字符进行填充。

当没有设置这些的时候,默认的填充字符为空格,默认对齐方式为左对齐。

在槽里面进行设置时,他的顺序为<填充>,下来设置<对齐方式>、最后<字符宽度>。

示例代码如下:

1.print("{:=^20}".format("python"))#填充字符为=,对齐方式为居中,字符长度为20.

运行界面如下: 

2.print("{:*>20}".format("bbt"))#填充字符为*,对齐方式为右对齐,字符长度为20.

运行界面如下:

 3.print("{:10}".format("rgf"))#默认填充字符为空格,默认对其方式为左对齐,字符长度为10。

运行界面如下: 

<,>数字的千位分隔符:

输出字符串但是当作数字给人阅读的时候才会使用

示例如下:

print("{:,.2f}".format(12345.6789))#.2f为保留小数点两位,其中,为千位分隔符

运行界面:

 <类型>整数类型  b,c,d,o,x,X  浮点数类型  e,E,f,%:

整数类型代码示例如下:

print("{:b}".format(12345))#:b为二进制格式
print("{:c}".format(12345))#:c字符形式,即Unicode编码格式
print("{:d}".format(12345))#:d 十进制格式
print("{:o}".format(12345))#:o八进制格式
print("{:x}".format(12345))#:x十六进制格式
print("{:X}".format(12345))#:X大写的十六进制形式

运行界面如下: 

浮点数类型代码示例如下:

print("{:e}".format(12345))#:e为科学计数法e
print("{:E}".format(12345))#:E为科学计数法E
print("{:f}".format(12345))#:f通常的非科学计数法形式表示浮点数
print("{:%}".format(12345))#:%以%形式表示浮点数

运行界面如下: 

%格式化方法:

使用格式如下:str % values

以上格式中,str表示需要被格式化的字符串,该字符串中包含单个或多个为真实数据占位的格式符。

values表示单个或多个待替换的真实数据,多个数据之间用逗号分割。

常见的格式符如表所示:

%c将对应的数据格式化为字符
%s将对应的数据格式化为字符串
%d将对应的数据格式化为整数
%u将对应的数据格式化为无符号整型
%o将对应的数据格式化为无符号八进制数
%x将对应的数据格式化为无符号十六进制数
%f将对应的数据格式化为浮点数,可指定小数点后的精度(默认保留6位小数)

示例如下所示:

name='约翰。沃尔'
age=27
address='华盛顿奇才队'
print('----------------')
print("姓名:%s"% name)
print("年龄:%d"% age)
print("地址:%s"% address)
print('----------------')

运行界面如下: 

使用多个格式符进行格式化时替换的数据以元组形式存储

f-string格式化字符串:

f-string是一种更为简洁的格式化字符串的方式,它在形式上以f或F引领字符串,在字符串中使用"{变量名}"标识被替换的真实数据和其所在位置。f-string格式如下:

f('{变量名}')或F('{变量名}')

代码如下:

name='约翰。沃尔'
age=27
address='华盛顿奇才队'
print(f'姓名:{name},\n年龄:{age},\n地址:{address}')

运行界面如下: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直再追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值