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

为何代码需用line = line + '-'而非line = '-'?CODE1/CODE2输出差异解惑

问题解答

先看两段代码的核心差异:

CODE 1(可输出5个短横线)

name = 'World'
line = ''

for char in name:
    line = line + '-'  # 每次循环把短横线累加到line上
    
print(name)
print(line)

CODE 2(仅输出1个短横线)

name = 'World'
line = ''

for char in name:
    line = '-'  # 每次循环都把line重置为单个短横线
    
print(name)
print(line)

为什么CODE2达不到预期?

CODE1里的line = line + '-'是累加操作:

  • 第一次循环:line从空字符串变成 '' + '-' = '-'
  • 第二次循环:line变成 '-' + '-' = '--'
  • 以此类推,循环5次后,line就变成了5个短横线的字符串 '-----'

而CODE2里的line = '-'是直接赋值覆盖:

  • 不管循环多少次,每次都会把line重新设置为单个'-',之前的内容完全被替换掉。
  • 循环5次后,line最终还是单个'-',自然输出不了5个短横线的结果。

如果想让CODE2达到预期,只需要把赋值语句改成累加形式,或者更简洁的写法:line += '-'(和line = line + '-'效果完全一致)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:06:59