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

Python中print输出字符串与len()返回值时出现意外空格原因求解

空格出现的原因

这个空格是Python内置print()函数的默认行为,和len()没有任何关系。
当你给print()传入多个用逗号分隔的参数时,函数会默认在两个相邻参数的输出内容之间插入一个空格,同时默认在所有内容输出完毕后追加一个换行符。
你代码里的print传入了两个独立参数:

  1. 前半部分字符串拼接结果:my_dict['name'] + " has won" ,对应输出内容为troy aikman has won
  2. 后半部分的数值:len(my_dict['superbowls']),对应输出内容为3
    两个参数用逗号分隔,所以print自动在两者中间插入了默认的空格分隔符,最终输出就是你看到的带空格的结果。

替换为加号报错的原因

你把逗号换成加号会触发报错,是因为加号做字符串拼接时要求两边的对象都是字符串类型,而len()返回的是整数int类型,不同类型直接用加号拼接会触发类型不匹配的错误。

实现无空格输出的方案

如果要输出你预期的无空格结果,可以用以下几种常用方案:

  • 把数值手动转成字符串后再用加号拼接:
print(my_dict['name'] + " has won" + str(len(my_dict['superbowls'])))
  • 用f-string格式化(Python3.6及以上版本支持,是目前最推荐的字符串拼接写法):
print(f"{my_dict['name']} has won{len(my_dict['superbowls'])}")
  • 修改print的默认分隔符参数:把sep参数显式设置为空字符串即可
print(my_dict['name'] + " has won", len(my_dict['superbowls']), sep='')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:54:04