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

Python变量未按预期递增问题求助

Python变量递增问题的解决方案

问题代码

def increment(n):
    n += 1
    return n

a = 1
increment(a)
print(a)  # 实际输出1,预期输出2

问题原因

Python采用传对象引用的参数传递方式,对于整数这类不可变类型,函数内执行n += 1时,会创建一个新的整数对象并让局部变量n指向它,而非修改原对象。因此外部变量a仍然指向初始的整数1,函数的返回值如果不重新赋值给a,不会改变a的值。

有效解决方案

将函数调用语句修改为a = increment(a),把函数返回的新值赋值给a,此时a将指向新的整数对象。修改后的代码:

def increment(n):
    n += 1
    return n

a = 1
a = increment(a)
print(a)  # 输出2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:15:45