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
相关产品推荐
相关产品推荐

