第
python中f字符串以及其常见用法介绍
有个小伙伴看到之前写的Faker库相关文章中出现了f{}这个东东,他问我是啥意思?
实际上,这个是使用到了f-string作为格式化的方法,为此简单罗列了一下f-string及其常见用法,给小伙伴们作为参考。
一、f-string是什么?
目前,Pythonf-string是执行字符串格式化的最新语法。自Python3.6起可用。
Pythonf字符串提供了一种更快,更易读,更简明且不易出错的在Python中格式化字符串的方式。f字符串的前缀为f,并使用{}括号评估值。在冒号后指定用于类型,填充或对齐的格式说明符。例如:f{price:.3f},其中price是变量名,.3f表明精度(保留三位小数)。
二、格式化常见用法
Python中常见的格式化方法有三种,分别是:
1.%符号+格式指定符
2.format()函数
3.f-string
下面举个例子,结果都是【张三】今年【18】岁,但是使用了不同的格式化方法:
name=张三
age=18
#最原始提供的字符串替换方法,使用了%运算符和经典字符串格式指定,如%s%d等
print(【%s】今年【%d】岁%(name,age))#【张三】今年【18】岁
#Python3.0新增了format()函数,可以提供高级的格式化选项
print(【{}】今年【{}】岁.format(name,age))#【张三】今年【18】岁
#Python3.6f-string出现,使得格式化方法更加灵活,字符串前缀为f,并使用{}评估值
print(f【{name}】今年【{age}】岁)#【张三】今年【18】岁
三、f-string常见用法汇总
下面分别举例说明f-string的一些常见用法
1.f-string中接收表达式
num=12
price=6
#f-string中可以接收表达式
print(f【{num}】个苹果,每个【{price}】元,一共要花【{num*price}】元)
#【12】个苹果,每个【6】元,一共要花【72】元
2.f-string可以对字典取值
user={name:Ace,job:teacher}
print(f【{user[name]}】的工作是【{user[job]}】)
#【Ace】的工作是【teacher】
3.f-string针对多行数据进行格式化
name=李四
age=28
job=码农
msg=(
fName:{name}\n
fAge:{age}\n
fJob:{job}
)#注意msg使用了()进行包裹
print(msg)
#Name:李四
#Age:28
#Job:码农
4.f-string中调用函数
defmy_max(x,y):
三目运算比较两个数字大小
:paramx:intx
:paramy:inty
:return:x和y中较大的数字
returnxifxyelsey
a=3
b=4
print(f【{a}】和【{b}】中较大的是【{my_max(a,b)}】)
#【3】和【4】中较大的是【4】
5.f-string转义用法
print(fPython使用{{}}来计算f-string中的变量)
#Python使用{}来计算f-string中的变量
print(f你真的很\厉害\)#注意:单引号中想继续使用单引号,那就需要进行转义
#你真的很厉害
6.f-string格式化浮点数
val=11
#通过:后跟浮点数标识,可以实现格式化浮点数
print(f{val:.3f})#11.000
print(f{val:.4f})#11.0000
7.f-string格式化宽度
foriinrange(1,11):
print(f{i:02}{i*i:3}{i*i*i:4})
#0111
#0248
#03927
#041664
#0525125
#0636216
#0749343
#0864512
#0981729
#101001000
8.f-string对齐字符串