Python实现字符串格式化的五种方法

 更新时间:2026年01月08日 09:39:17   作者:不瘦80斤不改名  
这篇文章主要介绍了Python实现字符串格式化的五种方法,包括拼接、print多参数、%格式化、f-string和format(),每种方法都有其特点和适用场景,f-string因其简洁和功能强大而最受推荐,需要的朋友可以参考下

示例:

name = "Forbearing"
age = 18

print("My name is " + name + ", and I am " + str(age) + " years old.")
print("My name is", name, ", and I am", age, "years old.")
print("My name is %s, and I am %d years old." % (name, age))
print(f"My name is {name}, and I am {age} years old.")
print("My name is {}, and I am {} years old.".format(name, age))

运行结果:

1. + 拼接:必须都是字符串,所以要 str(age)

print("My name is " + name + ", and I am " + str(age) + " years old.")
  • +是字符串拼接
  • 规则很硬:“字符串” + 变量 两边必须都是 str。
  • age 是 int,不能直接和字符串相加,所以要 str(age) 转成字符串。
  • 常见报错原因:"I am " + age(str 和 int 不能相加)。

2. print 多参数:自动转字符串,但默认会加空格

print("My name is", name, ", and I am", age, "years old.")
  • 这里不是“拼接”,而是 print() 接收了多个参数。
  • print 会把每个参数都转成可显示文本(所以 age 不用 str())。
  • 默认用空格把参数隔开:sep=" ",所以输出里会出现一些空格。
  • 如果你想控制输出样式,可以改 sep 或 end:
print("A", "B", sep="-")  # A-B
print("X", end="")        # 不换行
print("Y")                # 接着输出

3. % 格式化:旧式占位符写法

print("My name is %s, and I am %d years old." % (name, age))
  • 先写一个“模板字符串”,里面放占位符:
    • %s:填入字符串(很多类型也能用 %s,会转成字符串)
    • %d:填入整数
  • 右边用一个元组 (name, age) 按顺序把值塞进去。

% 常见的形式

格式符号转换
%s字符串
%d有符号的十进制整数
%f浮点数
%c字符
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写ox)
%X十六进制整数(大写OX)
%e科学计数法(小写’e’)
%E科学计数法(大写’E’)
%g%f和%e的简写
%G%f和%E的简写

4. f-string:最常用、最推荐

print(f"My name is {name}, and I am {age} years old.")
  • 字符串前加 f,然后用 {} 包变量或表达式。
  • {} 里不只能放变量,也能放表达式/函数调用:
print(f"next year: {age + 1}")
print(f"upper: {name.upper()}")
  • 也支持格式控制(例如保留两位小数、补零、对齐):
x = 3.14159
print(f"{x:.2f}")   # 3.14
print(f"{age:05d}") # 00018

5. format() 格式化

print("My name is {}, and I am {} years old.".format(name, age))
  • {} 是占位符,.format(…) 按顺序填进去。
  • 支持命名参数,模板更清晰:
print("My name is {n}, and I am {a} years old.".format(n=name, a=age))
  • 也支持格式控制(和 f-string 类似):
x = 3.14159
print("{:.2f}".format(x))  # 3.14

总结

  1. +:真的在拼字符串,所以 int 必须 str()
  2. print(a, b, c):不是拼接,是打印多个参数,默认加空格
  3. % / format / f-string:格式化(模板 + 填值),通常更清晰
  4. 日常推荐:f-string

到此这篇关于Python实现字符串格式化的五种方法的文章就介绍到这了,更多相关Python字符串格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python实现文件读取与输入以及数据存储与读取的常用命令

    利用Python实现文件读取与输入以及数据存储与读取的常用命令

    这篇文章主要给大家介绍了关于利用Python实现文件读取与输入以及数据存储与读取的常用命令,文中还介绍了用python循环保存文件并循环读取文件的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • python搜索包的路径的实现方法

    python搜索包的路径的实现方法

    今天小编就为大家分享一篇python搜索包的路径的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • web.py获取上传文件名的正确方法

    web.py获取上传文件名的正确方法

    这篇文章主要介绍了web.py获取上传文件名的正确方法,遇到这个问题的朋友可能会困惑半天,使用本文的正确方法就可以解决这个问题了,需要的朋友可以参考下
    2014-08-08
  • Python munch包 /Munch() 的用法详解

    Python munch包 /Munch() 的用法详解

    这篇文章主要介绍了Python munch包 /Munch() 的用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • python tornado上传文件功能实现(前端和后端)

    python tornado上传文件功能实现(前端和后端)

    Tornado 是一个功能强大的 Web 框架,除了基本的请求处理能力之外,还提供了一些高级功能,在 Tornado web 框架中,上传图片通常涉及创建一个表单,让用户选择文件并上传,本文介绍tornado上传文件功能,感兴趣的朋友一起看看吧
    2024-03-03
  • Python实现的多叉树寻找最短路径算法示例

    Python实现的多叉树寻找最短路径算法示例

    这篇文章主要介绍了Python实现的多叉树寻找最短路径算法,结合实例形式分析了Python使用深度优先查找获取多叉树最短路径相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • python进阶教程之循环对象

    python进阶教程之循环对象

    这篇文章主要介绍了python进阶教程之循环对象,循环对象是这样一个对象,它包含有一个next()方法,这个方法的目的是进行到下一个结果,需要的朋友可以参考下
    2014-08-08
  • python获取指定目录下所有文件名列表的方法

    python获取指定目录下所有文件名列表的方法

    这篇文章主要介绍了python获取指定目录下所有文件名列表的方法,涉及Python目录及文件操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • django的autoreload机制实现

    django的autoreload机制实现

    这篇文章主要介绍了django的autoreload机制实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 基于Python模拟浏览器发送http请求

    基于Python模拟浏览器发送http请求

    这篇文章主要介绍了基于Python模拟浏览器发送http请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论