📜  找出Python的对象使用了多少内存

📅  最后修改于: 2022-05-13 01:54:40.914000             🧑  作者: Mango

找出Python的对象使用了多少内存

在本文中,我们将了解如何在Python找出对象使用了多少内存。为此,我们将使用sys.getsizeof()函数可以完成查找特定对象在内存中占用一些空间的存储大小。此函数以字节为单位返回对象的大小。它最多需要两个参数,即对象本身。

此函数用途广泛,可以处理任何数据类型甚至函数。为此,必须导入第一个 sys 模块,然后将考虑中的对象传递给函数。下面给出了不同对象的各种实现。



示例 1:获取整数的大小。

Python3
import sys
  
var = 1
  
print(sys.getsizeof(var))


Python3
import sys
  
var = 1.2
  
print(sys.getsizeof(var))


Python3
import sys
  
# string init
var1 = ""
var2 = "gfg"
var3 = "Welcome to gfg"
  
# get size of an object
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))
print(sys.getsizeof(var3))


Python3
# import module
import sys
  
# list init
var1 = []
var2 = [1]
var3 = [1, 2, 3, 4]
  
# check size of obj
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))
print(sys.getsizeof(var3))


Python3
import sys
  
# set init
var1 = set([])
var2 = set([1, 2, 3, 4, 5])
  
# get size of object
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))


Python3
import sys
  
# dic
var1 = {'Apple':1}
var2 = {'Apple':1, 'ball': 2, 'cat':3, 
        'dog': 4, 'egg': 5, 'frog': 6}
  
# get the size of object
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))


Python3
import sys
  
def func():
    pass
var = func
print(sys.getsizeof(var))


输出:

28

示例 2:获取小数的大小。

蟒蛇3

import sys
  
var = 1.2
  
print(sys.getsizeof(var))

输出:

24

示例 3:获取字符串的大小。

蟒蛇3

import sys
  
# string init
var1 = ""
var2 = "gfg"
var3 = "Welcome to gfg"
  
# get size of an object
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))
print(sys.getsizeof(var3))

输出:

64
72
96

示例 4:获取 List 的大小。

蟒蛇3

# import module
import sys
  
# list init
var1 = []
var2 = [1]
var3 = [1, 2, 3, 4]
  
# check size of obj
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))
print(sys.getsizeof(var3))

输出:



64
72
96

示例 5:获取 Set 的大小。

蟒蛇3

import sys
  
# set init
var1 = set([])
var2 = set([1, 2, 3, 4, 5])
  
# get size of object
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))

输出:

224
736

示例 6:获取字典的大小。

蟒蛇3

import sys
  
# dic
var1 = {'Apple':1}
var2 = {'Apple':1, 'ball': 2, 'cat':3, 
        'dog': 4, 'egg': 5, 'frog': 6}
  
# get the size of object
print(sys.getsizeof(var1))
print(sys.getsizeof(var2))

输出:

240
368

示例 7:获取函数的大小。

蟒蛇3

import sys
  
def func():
    pass
var = func
print(sys.getsizeof(var))

输出:

136