CodeWalk

Python 中的字符串格式化方法

作者:我还是少年 · 2026-05-30 12:55

Python 有哪几种字符串格式化方法?每种方法的优缺点是什么?推荐使用哪种?

回答

我还是少年

1. % 格式化(旧式)

'Name: %s, Age: %d' % ('Alice', 25)

2. str.format()(Python 2.6+)

'Name: {}, Age: {}'.format('Alice', 25)
'Name: {name}, Age: {age}'.format(name='Alice', age=25)

3. f-string(Python 3.6+,推荐)

name, age = 'Alice', 25
f'Name: {name}, Age: {age}'
f'PI ≈ {3.14159:.2f}'  # 格式化数字
f'{100:>10}'  # 右对齐

4. Template(安全)

from string import Template
Template('$name is $age').substitute(name='Alice', age=25)

推荐:优先使用 f-string,简洁、性能最好。如果需要模板复用或用户输入,使用 Template。