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

Python变量与内存分配:两段代码的内存及时间消耗是否相同?

关于两段conv函数的内存与时间消耗问题

先直接给结论:两段代码的内存消耗几乎完全相同,执行时间也没有可感知的差异,第一段里的变量a并不会产生额外的、值得关注的内存开销。

具体解释:

  • 内存层面:int(txt)会创建一个整数对象(比如这里的整数4),不管是把它赋值给a再返回,还是直接返回这个对象,本质上都是返回这个整数对象的引用。变量a只是函数栈帧里的一个局部名称,它占用的只是一个指针大小的空间(64位系统里是8字节),和整数对象本身的内存比起来完全可以忽略。而且函数执行结束后,局部变量a会被立即回收,不会留下额外内存占用。
  • 时间层面:给变量赋值是Python里极轻量的操作,两段代码的字节码差异极小,实际运行时的时间差小到几乎无法用常规手段测出,对程序性能没有任何影响。

如果想直观验证,可以用dis模块查看两段函数的字节码:

import dis

def conv1(txt):
    a = int(txt)
    return a

def conv2(txt):
    return int(txt)

print(dis.dis(conv1))
print(dis.dis(conv2))

输出的字节码里,conv1多了一条STORE_FAST(把结果存到局部变量)和一条LOAD_FAST(加载这个变量),但这两个操作的耗时可以忽略不计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:32:31