Python f-strings 格式化

旧巷老猫 提交于 2019-12-04 21:09:43

在python3.6之后引入了 f-strings在以后格式化输出的时候可以使用 如下一些方法达到使用format 或是 % 实现的功能:

  1. 通过位置
data = ['data1', 'data2']

# format

print("data1: {0}, data2: {1}".format(*data))

# f-strings

print(f"data1: {data[0]}, data2: {data[1]}")
  1. 通过关键字
personal = {"name": "Json", "age": 12, "sex": "M"}
# format
print("Name: {name}, age: {age}, sex: {sex}".format(**personal))
# f-strings
print(f"Name: {personal['name']}, age: {personal['age']}, sex: {personal['sex']}")
  1. 数据精度和类型
num = 23234.76686566
# 保留两位小数
print(f"{num:.2f}")
# 保留两位小数,十个占位符,不足的使用0补充
prinf(f"{num:010.2f}")
  1. 填充和对齐经常是一起使用的
personal = {"name": "Json", "age": 12, "sex": "M"}
# format
print("Name: {name:>5}, age: {age:>5}, sex: {sex:>5}".format(**personal))
# f-strings
print(f"Name: {personal['name']:^10}, age: {personal['age']:^10}, sex: {personal['sex']:^10}")

5.使用 !r可以给字符串添加引号

a = "abc"
b = "hjk"
# format
c = "{!r} -- {!r}".format(a, b)
===> "'abc' -- 'hjk'"
# f-string
c = f"{a!r} -- {b!r}"
===> "'abc' -- 'hjk'"
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!