Python字符串格式化:f-string、%、format与Template详解

远山来客
远山来客
发布时间:2026-10-12 | 2人浏览过
原创

本文详细介绍Python中四种常用的字符串格式化方式:f-string、%操作符、format方法以及string.Template类。重点解析f-string的语法特性、花括号转义规则,以及Template类中substitute与safe_substitute的区别、参数优先级及自定义模板的实现方法,帮助开发者根据场景选择最佳方案。

第一种格式化方式:使用f-string(f"")

具体使用示例如下所示:

# -*- coding: utf-8 -*-
# @Time  : 2020/4/22 22:35
# @Author : chinablue
# 替换变量
name = "chinablue"
# 格式化字符串
res_str = f"hello {name}"
print(res_str)

使用时需注意以下事项:

  • 除了f-string,%操作符和format方法同样是Python中广泛使用的字符串格式化手段;
  • 若需在格式化字符串中显示大括号{},需使用双大括号{{}}进行转义处理。

第二种格式化方式:使用string.Template类

具体使用示例如下所示:

# -*- coding: utf-8 -*-
# @Time  : 2020/4/22 22:35
# @Author : chinablue
import string
# 字典中的key为变量
d = {
  "name" : "chinablue"
}
# 替换字符串可以写成 $name 或 ${name}; 默认的定界符为$
s = string.Template("hello ${name}")
# 执行字符串替换,
res_str = s.substitute(d)
print(res_str)

使用时需注意以下事项:

  • 当占位符采用${}格式时,变量名与花括号之间不允许存在空格;
  • 调用string.substitute()时,若字符串中定义了占位符但未提供对应的参数值,程序将抛出KeyError异常;
  • string.substitute()方法的参数既可以是字典,也可以是关键字参数。若同时提供字典和关键字参数,且存在重复的键名,则关键字参数的取值具有更高优先级;
  • 调用string.safe_substitute()时,若字符串中定义了占位符但未提供对应的参数值,程序不会抛出异常,而是保留原始占位符文本;
  • 通过继承string.Template类并重写delimiter变量和idpattern变量,可以实现自定义的字符串模板规则。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表