You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6中使用format()实现多行print输出的正确写法咨询

嘿,我来帮你搞定Python 3.6里用format()实现多行输出的正确写法!

首先得说说你可能踩的坑:很多时候语法错误都是因为没把多行内容用正确的字符串包裹住,或者format()的占位符和参数不匹配。下面给你几种靠谱的实现方式:

1. 用三重引号定义多行模板(最直观)

这种方式适合内容结构清晰的场景,直接把要输出的多行格式写在三重引号里,再用format()填充数据:

# 先准备球员数据示例
player = {
    "name": "Cristiano Ronaldo",
    "age": 38,
    "club": "Al Nassr",
    "appearances": 1100,
    "goals": 838
}

# 定义多行模板并填充数据
output = """
=== 球员详细信息 ===
姓名:{}
年龄:{}
所属俱乐部:{}
生涯出场数:{}
生涯进球数:{}
""".format(player["name"], player["age"], player["club"], player["appearances"], player["goals"])

print(output)

如果想让代码更易读,还可以用关键字参数的方式填充,这样不用在意参数顺序:

output = """
=== 球员详细信息 ===
姓名:{name}
年龄:{age}
所属俱乐部:{club}
生涯出场数:{appearances}
生涯进球数:{goals}
""".format(**player)  # 用**把字典拆成关键字参数

print(output)

2. 用换行符\n拼接字符串

如果不想用三重引号,也可以用\n来手动换行,同样结合format():

output = "=== 球员详细信息 ===\n姓名:{}\n年龄:{}\n所属俱乐部:{}\n生涯出场数:{}\n生涯进球数:{}".format(
    player["name"], player["age"], player["club"], player["appearances"], player["goals"]
)

print(output)

避坑提醒

之前你代码里的print语句出错,大概率是没把多行内容用字符串包裹(比如直接写print("姓名:{}" 年龄:{})),或者占位符{}的数量和format()里的参数数量不匹配,一定要注意这两点哦!

内容的提问来源于stack exchange,提问作者Krishna Kishore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:18:52