在格式化输出时,对齐对可读性至关重要。无论是生成报告、记录数据还是创建用户界面,对齐的文本看起来都更干净,更易于阅读。
1、 对齐文本
variable = "some text"
print(f"|{variable:>30}|") # 靠右对齐、不足30个字符就空格补全
print(f"|{variable:<30}|") # 靠左对齐、
print(f"|{variable:^30}|") # 居中
输出结果:
| some text|
|some text |
| some text |
也可以用选择的其他的字符填充空格,例如:
print(f"|{variable:*^30}|")
输出结果:|**********some text***********|
2、日期和时间格式
from datetime import datetime
now = datetime.now()
print(f"Date: {now:%d-%m-%Y}")
print(f"Time: {now:%H:%M:%S}")
print(f"Locale's Date and Time: {now:%c}")
print(f"Time in AM/PM format: {now:%I:%M %p}")
输出:
"""
Date: 25-06-2024
Time: 11:46:04
Locale's Date and Time: Tue Jun 25 11:46:04 2024
Time in AM/PM format: 11:46 AM
"""
3、带分隔符的数字
在代码中处理数字可能会很麻烦,尤其是在可读性很重要的时候。f-string中直接使用几千分隔符来格式化大的数字:
n = 1000000000
print(f"{n:_}") # Outputs: 1_000_000_000
print(f"{n:,}") # Outputs: 1,000,000,000
在f-string中使用下划线(_)或逗号(,)作为分隔符可以使数字更具可读性。这种做法在处理财务数据、大型数据集或任何清晰度至关重要的应用程序时特别有用。
4、控制十进制精度
在处理浮点数时,小数位数的表示通常是至关重要的。f字符串提供了一种简单的方法来实现这种精度。
num = 13.234
print(f"{num:.2f}") # Result: 13.23
# 将数字四舍五入以仅显示小数点后两位。也可以完全删除小数点后十位:
print(f"{num:.0f}") # Result: 13
# 去掉小数点后的数位,就得到一个整数。还可以使用%符号打印百分比。
value = 0.75321
print(f"{value:.2%}") # Output: 75.32%
# 也可以将它与千位分隔符配对:
num = 13.234
print(f"{num:,.2%}") # Result: 1,323.40%
5、f-string中的条件表达式
也可以直接在f - string中使用条件表达式。这可以方便地创建更动态的输出,而不必编写单独的条件语句。
score = 85
print(f"Your score is {score}, which is {'通过' if score >= 50 else '不及格'}.")
# {1:3d}: 1: 索引 1 指的是 format() 方法中第二个参数
# 3d: 3 表示最小宽度为 3 个字符,d 表示整数
print('{1:3d},{0:.2f}'.format(19.366,24))