在python3.6之后引入了 f-strings在以后格式化輸出的時候可以使用 如下一些方法達到使用format 或是 % 實現(xiàn)的功能:
和format用法比:
- 通過位置
data = ['data1', 'data2']
# format
print("data1: {0}, data2: {1}".format(*data))
# f-strings
print(f"data1: {data[0]}, data2: {data[1]}")
- 通過關(guān)鍵字
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']}")
- 數(shù)據(jù)精度和類型
num = 23234.76686566
# 保留兩位小數(shù)
print(f"{num:.2f}")
# 保留兩位小數(shù)择示,十個占位符媚创,不足的使用0補充
prinf(f"{num:010.2f}")
- 填充和對齊經(jīng)常是一起使用的
^脱拼、<萎馅、>分別是居中拼窥、左對齊裆泳、右對齊叹洲,后面帶寬度
:號后面帶填充的字符,只能是一個字符晾虑,不指定的話默認是用空格填充(一般不指定)疹味。
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}")
- 使用 !r可以給字符串添加引號
a = "abc"
b = "hjk"
# format
c = "{!r} -- {!r}".format(a, b)
===> "'abc' -- 'hjk'"
# f-string
c = f"{a!r} -- {b!r}"
===> "'abc' -- 'hjk'"