在Python3.6开始, f-string是格式化字符串的一种很好的新方法。与% 格式化 和 str.format格式化相比, 易读, 不易不错. 下面来说一下他的使用:
1. 简单的格式化其他数据的形式
name = '小沐'
age = 18
school = '千锋'
'''展示信息是: 我叫小沐, 今年18岁,现在千锋上学在嵌套数据时 需要是用f标记字符串并在字符串需要填充数据的位置使用{数据}的形式进行填充'''
info = f'我叫{name}, 今年{age}岁, 现在{school}上学'
print(info) # 输出结果显示为 我叫小沐, 今年18岁, 现在千锋上学
2.关于数据对齐的问题
在指定宽度的情况下,想完成数的对齐, 对齐方式有左对齐(), 居中对齐(^), 在不指定填充符的情况下, 默认是以空格填充. 例如:
content = '千锋'
# 宽度是10的情况下 将数据左对齐 格式是{数据:
info = f'{content:<10}'
print(info) # '千锋 '
# 指定其他填充符 格式是{数据:填充符
info = f'{content:*<10}'
print(info)
# 结果为:’千锋********‘
# 如果设置的宽度 <= 原串的长度, 填充没有效果
info = f'{content:<1}'
print(info) # '千锋'
右对齐与居中的操作 只需要把上述例子中的 < 修改为 > 或者 ^即可
这个操作对于整数而言,可以用于按照指定位数格式化数据.
比如 想按照3位数格式化数据, 在不满足3位数的情况下, 前面用0补充
如 10 ------> 010
# 这个时候填充符在左边, 所以使用的是右对齐 填充符设置为0
value = 10
info = f'{value:0>3}'
print(info) # 010
3.精确度的问题
格式化浮点类型的数据时,经常会用到保留几位小数的操作, 这种情况下我们就涉及到精确度的问题了, 那么下面来说一下如何保留需求的小数的位数:
格式: {数据:.nf}
其中的n就表示保留的小数的位数, 需要保留几位数, 就将n设置为几即可
score = 77.8
# 保留两位小数
info = f'我的成绩是{score:.2f}'
print(info) # '我的成绩是77.80'
4.千位分隔符(,)
在数据较大的情况下,我们读数据比较费劲,可以使用千位分隔符进行千位一分,操作如下:
# 格式是 {数据:,}
value = 1245617813561376813
info = f'{value:,}'
print(info) # 1,245,617,813,561,376,813
5.整型和浮点型数据格式化规则
整型:b 表示的是二进制数据
:c 表示的是Unicode编码对应的字符
:o 表示的是八进制数据
:x 表示的是十六进制的数据
data = 31002
info = f'二进制数据:{data:b}, 对应的unicode字符:{data:c}, 八进制数据:{data:o}' \
f'十六进制数据:{data:x}'
print(info)
# 二进制数据:111100100011010, 对应的unicode字符:礚, 八进制数据:74432十六进制数据:791a
浮点型:e 输出浮点数对应的 e 的指数形式
:% 显示的是百分比的形式, 保留几位小数是 :.n% [n表示的是保留小数的位数]
data = 3256424.8193291
data1 = 0.78
info = f"e的指数格式:{data:e}, 百分比格式:{data1:%}, " \
f"保留两位小数的百分比格式:{data1:.2%}"
print(info)
# e的指数格式:3.256425e+06, 百分比格式:78.000000%, 保留两位小数的百分比格式:78.00%
操作就写这些, 有疑问的地方可进行联系