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

为何Python中加法赋值操作比普通赋值慢很多?

为什么Python中加法赋值+=比直接赋值更慢?

先看你做的测试代码:

示例1(直接赋值):

num = 0
num = 2*2
# 耗时:13.8 ns ± 0.158 ns per loop

示例2(加法赋值):

num = 0
num += 2*2
# 耗时:23.8 ns ± 0.232 ns per loop

两者的核心差异在于底层执行的字节码步骤不同:

  • 示例1的第二步是直接计算2*2,然后把结果覆盖赋值给num,完全不需要读取num原来的0值。
  • 示例2的第二步要完成三件事:先读取num当前的0值,再计算2*2得到4,接着执行0+4的加法操作,最后把结果存回num。

简单说,+=是读取原变量值 → 执行加法 → 存回变量的三步操作,而直接赋值是计算结果 → 覆盖变量的两步操作,多出来的读取和加法步骤自然会增加耗时,这就是它更慢的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:15:34