在 Python 中,对齐输出数字可以通过 format() 函数或 f-string(Python 3.6+)实现,支持左对齐、居中对齐、右对齐,并可设置最小宽度、填充字符及小数精度。以下是具体方法及示例:
1. 使用 format() 函数语法"{:alignwidth.precisionf}".format(value)- align:对齐方式
<:左对齐
^:居中对齐
>:右对齐(默认)
- width:最小输出宽度(不足时填充)
- precision:小数位数(仅对浮点数有效)
- value:要格式化的数字
示例# 左对齐(宽度10,保留2位小数)print("{:<10.2f}".format(123.456)) # 输出: "123.46 "# 居中对齐(宽度10,填充空格)print("{:^10.2f}".format(123.456)) # 输出: " 123.46 "# 右对齐(宽度10,填充0)print("{:0>10.2f}".format(123.456)) # 输出: "0000123.46"# 动态宽度(通过变量指定)width = 8print("{:*>{}.2f}".format(12.34, width)) # 输出: "*12.34"2. 使用 f-string(推荐,Python 3.6+)语法f"{value:alignwidth.precisionf}"示例num = 123.456# 左对齐print(f"{num:<10.2f}") # 输出: "123.46 "# 居中对齐(填充'-')print(f"{num:-^10.2f}") # 输出: "--123.46--"# 右对齐(宽度自适应)print(f"{num:>10.2f}") # 输出: " 123.46"# 整数对齐(需先转为字符串)integer = 42print(f"{integer:0>5}") # 输出: "00042"3. 注意事项4. 完整示例代码# 浮点数对齐values = [12.34, 123.456, 1234.567]for v in values: print(f"Left: {v:<10.2f} | Center: {v:^10.2f} | Right: {v:>10.2f}")# 整数填充num = 7print(f"Padded integer: {num:0>3}") # 输出: "007"通过上述方法,可以灵活控制数字的对齐、宽度和填充样式,适用于表格输出、日志格式化等场景。