1. Python格式化输出详解
作为一名Python开发者,格式化输出是我们每天都要打交道的基础操作。很多人觉得这很简单,但真正能灵活运用各种格式化技巧的开发者并不多见。今天我就结合自己多年的实战经验,带大家深入理解Python中的格式化输出。
1.1 为什么需要格式化输出
在日常开发中,我们经常需要将变量值嵌入到字符串中输出。比如生成日志信息、输出报表、调试代码等场景。直接拼接字符串虽然可行,但存在几个明显问题:
- 代码可读性差,特别是需要插入多个变量时
- 难以控制数值的显示格式(如小数位数)
- 维护困难,修改变量顺序时需要大量调整
Python提供了三种主流的格式化输出方式,各有特点和适用场景。
1.2 占位符(%)格式化
这是从C语言继承过来的传统方式,语法格式为:
python复制"格式化字符串" % (变量1, 变量2,...)
常用格式说明符:
%d:整数%f:浮点数%s:字符串%x:十六进制数
示例:
python复制name = "Alice"
age = 25
height = 1.68
print("%s今年%d岁,身高%.2f米" % (name, age, height))
# 输出:Alice今年25岁,身高1.68米
注意:%.2f表示保留两位小数,这种精度控制在财务计算等场景特别有用。
1.3 str.format()方法
这是Python 2.6引入的更强大的格式化方式,基本语法:
python复制"格式化字符串".format(变量1, 变量2,...)
它的优势在于:
- 支持位置参数和关键字参数
- 格式控制更灵活
- 可重复使用同一个变量
示例:
python复制print("{0}的年龄是{1},{0}的身高是{2:.1f}".format("Bob", 30, 1.75))
# 输出:Bob的年龄是30,Bob的身高是1.8
1.4 f-string(Python 3.6+)
这是Python 3.6引入的最新格式化方式,语法最简单直观:
python复制f"字符串{变量}字符串"
实际案例:
python复制name = "C
