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使用DuckDB秒级处理超大Excel文件的终极指南

    Python使用DuckDB秒级处理超大Excel文件的终极指南

    你是否经历过这样的绝望:双击打开一个 500MB 的 Excel 文件,看着鼠标光标变成旋转的圆圈,内存占用飙升,最后屏幕变白显示未响应,本文将手把手教你如何利用 DuckDB 轻松读取、查询和分析超大 Excel 文件,需要的朋友可以参考下
    2026-02-02
  • Python中装饰器使用方法整理

    Python中装饰器使用方法整理

    这篇文章主要介绍了Python中装饰器使用方法整理,装饰器是给现有的模块增添新的小功能,可以对原函数进行功能扩展,而且还不需要修改原函数的内容,也不需要修改原函数的调用,需要的朋友可以参考下
    2023-08-08
  • Python闭包原理与nonlocal关键字实战指南

    Python闭包原理与nonlocal关键字实战指南

    闭包是Python中一个强大而优雅的特性,掌握它能让你写出更灵活、更模块化的代码,本文将深入解析闭包的原理,并通过实战案例带你彻底理解nonlocal关键字,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • python实现登录密码重置简易操作代码

    python实现登录密码重置简易操作代码

    这篇文章主要介绍了python实现登录密码重置简易操作,代码简单易懂,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • 使用django和vue进行数据交互的方法步骤

    使用django和vue进行数据交互的方法步骤

    这篇文章主要介绍了使用django和vue进行数据交互的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python+pandas数据分析实践总结

    Python+pandas数据分析实践总结

    这篇文章主要介绍了Python+pandas数据分析实践总结的相关资料,需要的朋友可以参考下
    2023-07-07
  • python通过移动端访问查看电脑界面

    python通过移动端访问查看电脑界面

    这篇文章主要介绍了python通过移动端访问查看电脑界面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python数据可视化常用4大绘图库原理详解

    Python数据可视化常用4大绘图库原理详解

    这篇文章主要介绍了Python数据可视化常用4大绘图库原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • pycharm运行程序时出现Run‘python tests for XXX.py‘问题及解决

    pycharm运行程序时出现Run‘python tests for XXX.py‘问题及

    这篇文章主要介绍了pycharm运行程序时出现Run ‘python tests for XXX.py‘问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 浅谈Python3.10 和 Python3.9 之间的差异

    浅谈Python3.10 和 Python3.9 之间的差异

    多年来,Python 进行了大量升级,并且在新版本中添加了许多功能。本文就详细的介绍 一下Python3.10 和 Python3.9差异,感兴趣的朋友可以了解一下
    2021-09-09

最新评论