返回

用Python 3中的 f-string 格式化固定宽度的数字**

闲谈

在 Python 中,f-string 是一种用于格式化字符串的强大工具。它允许您使用花括号内的表达式来动态插入变量。f-string 的一个特别有用的特性是能够控制输出中数字的宽度和对齐方式。

控制宽度

要控制输出中数字的宽度,请使用格式说明符 {:<width}},其中 <width> 是所需的宽度。例如,要以宽度为 10 右对齐数字,可以使用 {:<10}

number = 123456
print(f"Number: {number:<10}")

这将输出:

Number:      123456

同样,要左对齐宽度为 10 的数字,可以使用 {:<10}

print(f"Number: {number:*>10}")

这将输出:

Number: 123456      

控制对齐方式

默认情况下,数字右对齐。但是,您可以使用格式说明符 {:<}{:^} 来分别左对齐和居中对齐数字。

print(f"Number: {number:<10}")
print(f"Number: {number:*>10}")
print(f"Number: {number:^10}")

这将输出:

Number:      123456
Number: 123456      
Number:   123456   

示例

现在,让我们通过一些示例来巩固这些概念。假设您有一张包含销售数据的数据表,您希望以固定宽度和对齐方式打印这些数据。

sales_data = [
    (1001, "John Doe", 1234.56),
    (1002, "Jane Smith", 2345.67),
    (1003, "Michael Jones", 3456.78),
]

for order_id, customer_name, amount in sales_data:
    print(f"Order ID: {order_id:<5} | Customer Name: {customer_name:<20} | Amount: ${amount:^10.2f}")

这将输出:

Order ID: 1001 | Customer Name: John Doe              | Amount: $   1234.56
Order ID: 1002 | Customer Name: Jane Smith             | Amount: $   2345.67
Order ID: 1003 | Customer Name: Michael Jones           | Amount: $   3456.78

正如您所看到的,数字现在以固定宽度和对齐方式打印。这使输出更易于阅读和理解。

结论

使用 Python 3 中的 f-string 格式化固定宽度的数字是一个简单而强大的技术。通过控制宽度和对齐方式,您可以创建干净整齐的输出,使您的代码更具可读性和可维护性。