You need to enable JavaScript to run this app. 如何在Python中精准查询程序变量的实际内存占用情况
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中精准查询程序变量的实际内存占用情况

Python字符串变量内存占用查询方法

1. 标准库直接实现方案

用Python内置sys模块的getsizeof()方法即可直接查询对象占用的内存大小,该方法返回值单位为字节,示例代码如下:

import sys

s1 = "a long string"
s2 = "another long string"

# 输出两个字符串的内存占用
print(f"s1 占用内存:{sys.getsizeof(s1)} 字节")
print(f"s2 占用内存:{sys.getsizeof(s2)} 字节")

2. 方法说明

  • sys.getsizeof()统计的是Python解释器为该对象分配的总内存大小,包含Python字符串对象的固定开销:以CPython 3.10版本为例,空字符串本身就占用49字节,每增加1个ASCII字符,占用大小多增加1字节。
  • 如果仅需要统计字符串内容本身的字节数(不含对象开销),可以手动统计编码后的字节长度:
    # 统计UTF-8编码下字符串内容的字节数
    s1_content_size = len(s1.encode('utf-8'))
    s2_content_size = len(s2.encode('utf-8'))
    

3. 注意事项

sys.getsizeof()仅统计当前对象本身的内存占用,不会递归统计内部引用的其他对象的大小,不过字符串属于不可变基础类型,不存在内部引用,因此统计结果完全准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 21:24:04