上一篇
Python format函数完全指南:从基础到高级用法 | Python字符串格式化教程
- Python
- 2025-08-11
- 404
Python format() 函数完全指南
掌握字符串格式化的艺术 - 从基础到高级用法
format() 函数是什么?
Python中的 format() 函数是用于字符串格式化的强大工具,它提供了一种灵活、易读的方式来构建字符串。
主要特点:
• 更灵活的位置参数和关键字参数
• 支持各种数据类型(数字、字符串、日期等)
• 提供丰富的格式化选项(对齐、填充、精度等)
• 比传统的 % 格式化更现代、更强大
基础使用方法
format() 函数的基本语法是在字符串中使用花括号 {}
作为占位符:
# 基础用法示例 name = "Alice" age = 30 message = "我的名字是 {},我今年 {} 岁。".format(name, age) print(message) # 输出:我的名字是 Alice,我今年 30 岁。
位置参数
# 通过位置索引引用参数 text = "{1} 比 {0} 大 {2} 岁".format("Alice", "Bob", 5) print(text) # 输出:Bob 比 Alice 大 5 岁
关键字参数
# 使用关键字参数 info = "姓名: {name}, 年龄: {age}, 职业: {job}".format( name="Charlie", age=25, job="工程师" ) print(info) # 输出:姓名: Charlie, 年龄: 25, 职业: 工程师
高级格式化技巧
数字格式化
# 格式化浮点数 pi = 3.1415926535 print("圆周率: {:.2f}".format(pi)) # 保留两位小数 print("科学计数法: {:.2e}".format(123456)) # 科学计数法表示 # 格式化整数 number = 12345 print("千位分隔: {:,}".format(number)) # 添加千位分隔符 print("二进制: {:b}".format(10)) # 二进制表示 print("十六进制: {:X}".format(255)) # 十六进制大写
文本对齐与填充
# 文本对齐 print("左对齐: |{:<15}|".format("text")) # 左对齐,宽度15 print("右对齐: |{:>15}|".format("text")) # 右对齐,宽度15 print("居中对齐: |{:^15}|".format("text")) # 居中对齐,宽度15 # 自定义填充字符 print("填充: |{:*^15}|".format("title")) # 使用*填充 print("填充: |{:=^20}|".format("分隔线")) # 使用=填充
实际应用示例
表格数据格式化
# 创建对齐的表格 headers = ['姓名', '年龄', '职业', '薪资'] data = [ ['张三', 28, '工程师', 15000], ['李四', 32, '设计师', 18000], ['王五', 45, '经理', 25000] ] print("{:<5} {:<5} {:<8} {:<10}".format(*headers)) print("-" * 30) for row in data: print("{:<5} {:<5} {:<8} ¥{:<10,.2f}".format(*row))
进度条显示
# 简单的进度条实现 import time def show_progress(total): for i in range(total + 1): percent = i / total * 100 bar = '█' * int(percent / 5) print("\r进度: |{:<20}| {:.1f}%".format(bar, percent), end="") time.sleep(0.1) print() show_progress(50) # 显示进度条
format() 与 f-string 对比
Python 3.6+ 引入了更简洁的f-string,但format()在动态格式化场景中仍有优势:
# format() 示例 name = "Bob" score = 95.5 result = "{}的成绩是{:.1f}分".format(name, score) # f-string 等效写法 result = f"{name}的成绩是{score:.1f}分"
format() 优势
- 兼容Python 2.6+和Python 3.x
- 适用于动态格式字符串
- 支持更复杂的格式化操作
- 处理用户输入更安全
何时选择f-string
- Python 3.6+环境
- 简单变量插值
- 需要更简洁的语法
- 提高代码可读性
总结
Python的format()函数提供了强大而灵活的字符串格式化能力:
- 基础用法: 使用{}作为占位符,支持位置参数和关键字参数
- 数字格式化: 控制精度、千位分隔、进制转换等
- 文本对齐: 通过:<、:>、:^实现左、右、居中对齐
- 填充字符: 自定义填充字符丰富显示效果
- 实际应用: 表格数据展示、进度条等实用场景
- 与f-string比较: 各有优势,根据场景选择
掌握format()函数能显著提升你处理字符串的能力,是每个Python开发者必备的核心技能之一。
本文由XiangHui于2025-08-11发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://www.521pj.cn/20257847.html
发表评论