朝花夕拾(二)-------python中字符串的3种插值方法/(函数)
目录
错误代码示例
方法 1:使用 f-string(Python 3.6+ 推荐)
方法 2:使用 .format() 方法
方法 3:使用 % 格式化(旧版风格)
修复开头的原始代码
输出示例
总结
先来一段错误代码:
print("a=.format{},b=.format{},data_2=.format{},data_3=.format{}",a,b,data_2,data_3)
各位看官老爷们是不是笑掉大牙了嘞?嘿嘿,先别笑,肯定有不少像煮啵这样的新手小白写过诸如这样的错误代码,那我们单独把字符串中的几种插值方法拿出来给大家在下面总结一下,大家如果忘了可以看看哦.
在 Python 中,格式化字符串一般有以下三种方式:
方法 1:使用 f-string(Python 3.6+ 推荐)
print(f"a={a}, b={b}, data_2={data_2}, data_3={data_3}")
- 优点:简洁直观,直接在大括号
{}
中插入变量。 - 注意:Python 3.6 及以上版本支持。
方法 2:使用 .format()
方法
print("a={}, b={}, data_2={}, data_3={}".format(a, b, data_2, data_3))
- 优点:兼容 Python 3.0+,可读性强。
- 注意:变量按顺序填入
{}
中。
方法 3:使用 % 格式化(旧版风格)
print("a=%s, b=%s, data_2=%s, data_3=%s" % (a, b, data_2, data_3))
- 优点:兼容 Python 2.x 和 3.x。
- 缺点:不如 f-string 或
.format()
灵活。
修复开头的原始代码
原始代码:
print("a=.format{},b=.format{},data_2=.format{},data_3=.format{}", a, b, data_2, data_3)
问题:
.format{}
是无效语法,正确用法是.format()
。- 字符串外的
a, b, data_2, data_3
不会被自动插入。
修正后:
print("a={}, b={}, data_2={}, data_3={}".format(a, b, data_2, data_3))
输出示例
假设:
a = [1, 2, 1]
b = [True, False, True]
data_2 = [[2, 3, 2]]
data_3 = [[4, 5, 3]]
输出结果:
a=[1, 2, 1], b=[True, False, True], data_2=[[2, 3, 2]], data_3=[[4, 5, 3]]
总结
方法 | 示例 | 适用场景 |
---|---|---|
f-string | f"a={a}" | Python 3.6+,简洁高效 |
.format() | "a={}".format(a) | Python 3.0+,兼容性强 |
% 格式化 | "a=%s" % a | 旧代码兼容 |
推荐优先使用 f-string,因为它最简洁直观。