python-字符串格式化-format和f-string

本文主要讲解字符串格式化的两种方法,一种是format的方法,一种是f-string的方法。

字符串格式化是指把数据(字符串、数字格式)填写到预先定义的格式字符串里面,并把这条消息保存成字符串的过程。

format是字符串格式化的一种方法,之前用的是%这种方式。

f-string是插值格式字符串(interpolated format string)的简称,是python3.6添加的一种方法。

format

以”格式字符串.format()“的形式将字符串格式化。

  1. 通过位置来填充字符串

格式字符串中待调整的数据用{}代替,按照从左到右的顺序将要填充的数据放在format里面。

panda_info="大家好,我是大熊猫{},我今年7月份就{}岁啦".format("花花",3)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦

格式字符串中待调整的数据用{数字}代替,数字的值表示取format里面第几个数据(从0开始),按照从左到右的顺序将要填充的数据放在format里面。

panda_info="大家好,我是大熊猫{0},我今年7月份就{1}岁啦".format("花花",3)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
  1. 通过设置关键字填充字符串

格式字符串中待调整的数据用{关键字}代替,按照”关键字=数据值”的格式将要填充的数据放在format里面,没有顺序到要求,其中数据的值可以直接为要填充的数据,也可以是定义的的变量。

name ="花花"
age=3
panda_info="大家好,我是大熊猫{name},我今年7月份就{age}岁啦".format(name=name,age=age)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
panda_info="大家好,我是大熊猫{name},我今年7月份就{age}岁啦".format(name="花花",age=3)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
  1. 通过list填充字符串

这种方式有两种方法:

第一种:格式字符串中待调整的数据用{列表名称[列表索引]}代替;按照”列表名称=列表“的格式将要填充的数据放在format里面,列表可以为定义好的列表变量也可以为列表数据。

panda=["花花",3]
panda_info="大家好,我是大熊猫{panda[0]},我今年7月份就{panda[1]}岁啦".format(panda=panda)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
panda_info="大家好,我是大熊猫{panda[0]},我今年7月份就{panda[1]}岁啦".format(panda=["花花",3])
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦

第二种:格式字符串中待调整的数据用{数字}代替,数字的值表示取列表第几个数据(从0开始);将列表放在format里面,并在列表的前面加上*,列表可以为定义好的列表变量也可以为列表数据(推荐)

panda=["花花",3]
panda_info="大家好,我是大熊猫{0},我今年7月份就{1}岁啦".format(*panda)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
panda_info="大家好,我是大熊猫{0},我今年7月份就{1}岁啦".format(*["花花",3])
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
  1. 通过字典填充字符串

这种方式有两种方法:

第一种:格式字符串中待调整的数据用{字典名称[key值]}代替,key值不加引号;按照”字典名称=字典“的格式将要填充的数据放在format里面,字典可以为定义好的字典变量也可以为字典数据。

panda={"name":"花花","age":3}
# 这个地方要注意哈,没有引号
panda_info="大家好,我是大熊猫{panda[name]},我今年7月份就{panda[age]}岁啦".format(panda=panda)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦


panda_info="大家好,我是大熊猫{panda[name]},我今年7月份就{panda[age]}岁啦".format(panda={"name":"花花","age":3})
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦

第二种:格式字符串中待调整的数据用{字典的key值}代替。将字典放在format里面,并在字典的前面加上**。(推荐)

panda={"name":"花花","age":3}
panda_info="大家好,我是大熊猫{name},我今年7月份就{age}岁啦".format(**panda)
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦

panda_info="大家好,我是大熊猫{name},我今年7月份就{age}岁啦".format(**{"name":"花花","age":3})
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦

f-string

f-string方法是以f"格式字符串"的形式将字符串格式化,即格式字符串的前面加字母f作为前缀,格式字符串的{}里面可以使用定义好的变量名称,减少代码的冗余,另外也可以放表达式。

{}里面存放变量

格式字符串前面加f,格式字符串中待调整的数据用{变量名称}代替。

name ="花花"
age=3
panda_info=f"大家好,我是大熊猫{name},我今年7月份就{age}岁啦" 
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦

{}里面存放表达式

格式字符串前面加f,格式字符串中待调整的数据用{表达式}代替。如下:假设值取名字的前一位,可以直接在{}里面写表达式

name ="花花"
age=3
panda_info=f"大家好,我是大熊猫{name[:1]},我今年7月份就{age}岁啦" 
print(panda_info)
#大家好,我是大熊猫花花,我今年7月份就3岁啦
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值