Python字符串格式化:format函数完全指南 | 入门教程
- Python
- 2025-07-28
- 1017
Python字符串格式化:format函数完全指南
学习使用Python强大的format函数进行字符串格式化的多种方法
为什么需要字符串格式化?
在Python编程中,字符串格式化是创建动态文本输出的关键技术。format函数提供了一种灵活、可读性强的方式来构建包含变量值的字符串,比传统的字符串拼接更加强大和易用。
format函数的优势:
- 代码可读性更强
- 支持多种数据类型
- 提供丰富的格式化选项
- 兼容Python 2.6+和Python 3.x
format函数基础
format函数的基本语法是在字符串中使用花括号{}
作为占位符,然后调用format方法传入实际值:
# 基本用法示例
name = "Alice"
age = 28
print("我的名字是{},今年{}岁。".format(name, age))
# 输出:我的名字是Alice,今年28岁。
位置参数
通过位置索引指定参数顺序:
print("{1}比{0}大{2}岁".format("Alice", "Bob", 3))
# 输出:Bob比Alice大3岁
关键字参数
使用变量名作为占位符:
print("坐标: ({x}, {y})".format(x=5.3, y=-2.1))
# 输出:坐标: (5.3, -2.1)
数字格式化技巧
format函数提供了强大的数字格式化能力,包括控制小数位数、百分比、千位分隔符等。
浮点数格式化
pi = 3.1415926535
# 保留两位小数
print("π的值是: {:.2f}".format(pi)) # 输出: 3.14
# 带符号保留三位小数
print("温度变化: {:+.3f}°C".format(-2.5)) # 输出: -2.500°C
# 科学计数法
print("光速: {:.2e} m/s".format(299792458)) # 输出: 3.00e+08 m/s
整数格式化
population = 7823400
# 千位分隔符
print("城市人口: {:,}".format(population)) # 输出: 7,823,400
# 进制转换
print("二进制: {:b}".format(42)) # 101010
print("十六进制: {:X}".format(255)) # FF
# 补零
print("序号: {:05d}".format(23)) # 00023
文本对齐与填充
使用format函数可以轻松控制文本的对齐方式和填充字符。
对齐方式 | 语法 | 示例 | 输出 |
---|---|---|---|
左对齐 | {:<宽度} |
"{:<10}".format("Hi") |
Hi |
右对齐 | {:>宽度} |
"{:>10}".format("Hi") |
Hi |
居中对齐 | {:^宽度} |
"{:^10}".format("Hi") |
Hi |
填充字符 | {:填充字符^宽度} |
"{:*^10}".format("Hi") |
****Hi**** |
高级格式化技巧
格式化日期
from datetime import datetime
now = datetime.now()
print("当前时间: {:%Y-%m-%d %H:%M:%S}".format(now))
# 输出示例: 2023-07-28 14:30:45
嵌套字段
# 动态设置格式
value = 12.34567
for precision in [1, 3, 5]:
print("{:.{prec}f}".format(value, prec=precision))
# 输出:
# 12.3
# 12.346
# 12.34567
format函数 vs f-string
虽然Python 3.6+引入了更简洁的f-string,但format函数在以下情况仍然很有价值:
- 需要兼容Python 3.6以下版本
- 需要动态构建格式字符串
- 格式化字符串需要复用或来自外部源
# format函数
name = "Alice"
age = 30
message = "姓名: {}, 年龄: {}".format(name, age)
# f-string
message = f"姓名: {name}, 年龄: {age}"
总结
Python的format函数提供了强大而灵活的字符串格式化功能:
- 使用简单直观的
{}
占位符语法 - 支持位置参数和关键字参数
- 提供丰富的数字格式化选项(小数位、百分比、千分位等)
- 灵活的文本对齐和填充控制
- 兼容新旧Python版本
掌握format函数能让你更高效地构建复杂的字符串输出,编写更清晰、更易维护的Python代码。
本文由QuanDan于2025-07-28发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://521pj.cn/20256693.html
发表评论