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

Python中f-string嵌套print导致输出顺序错乱问题排查

问题原因与解决办法

核心原因

  • print()函数的返回值是None:当你在f-string里写{print(sc.items)}时,Python会先执行这个嵌套的print(sc.items),直接把sc.items的内容打印出来,然后将该函数的返回值None填充到f-string对应位置,最后外层的print再输出整个拼接好的f-string,所以会出现sc.items先单独占一行、f-string末尾显示None的情况。
  • 执行顺序逻辑:Python处理f-string时,会优先计算其中所有表达式的结果,因此嵌套的print会比外层print更早执行,直接打乱了输出顺序。

修复方案

去掉f-string里嵌套的print,直接把sc.items放入f-string中即可:

print(f'{sc.common_name}, {sc.tier}, {sc.min_price}, {sc.items}')

这样所有内容会按顺序在同一行输出,也不会出现None的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:42:02