Python 中的字符串格式化方法
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。