Python format() 语法
format() 是 Python 字符串的一个方法,它用于实现字符串的格式化。所谓的 “字符串格式化”,小伙伴们可以理解成 “字符串拼接”。
format() 方法有 3 种方式:① 使用位置参数;② 使用关键字参数;③ 同时使用位置参数和关键字参数。
语法:
# 位置参数
template.format(p0, p1, ..., pN)
# 关键字参数
template.format(key1=value1, key2=value2, ..., keyN=valueN)
# 混合形式
template.format(p0, p1, ..., key1=value1, key2=value2, ...)说明:
template 是文本模板,用于实现字符串格式化。
提示:
- 想要实现字符串拼接,最推荐的是使用 Python 提供的 f-string。
- 与字符串 format() 方法相似的,还有一个内置函数,另请参阅:Python format() 函数。
Python format() 摘要
| 使用频率 | 高 |
|---|---|
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| 相关方法 | format_map() |
Python format() 示例
接下来,我们通过几个简单的例子来讲解 Python format() 方法是如何使用的。
示例 1:format() 使用位置参数
name = 'Jack'
age = 20
result = '{0} is {1} years old'.format(name, age)
print(result)运行结果如下。
Jack is 20 years old分析:
对于这个例子来说,name 对应 {0},而 age 对应 {1}。
示例 2:format() 使用关键字参数
name = 'Jack'
age = 20
result = '{sname} is {sage} years old'.format(sname=name, sage=age)
print(result)运行结果如下。
Jack is 20 years old分析:
这个例子中,我们在字符串模板中定义了具体的变量名 {sname} 和 {sage}。然后在调用 format() 时,通过传入关键字参数 sname=name 和 sage=age,Python 会精准地将对应的值填入同名的大括号中。

示例 3:使用 f-string
name = 'Jack'
age = 20
result = f'{name} is {age} years old'
print(result)运行结果如下。
Jack is 20 years old分析:
想要实现字符串拼接,f-string 是最简单最容易理解的方式,强烈推荐在实际开发中使用。
format() 与 format_map() 对比
format() 和 format_map() 这 2 个方法看着相似,但它们存在本质上的区别。
format(**dict):需要显式解包字典,比如:'{name}'.format(**data)。format_map(dict):直接传入映射对象,语法更简洁,支持动态映射类型。
