找出Python的对象使用了多少内存
在本文中,我们将了解如何在Python找出对象使用了多少内存。为此,我们将使用sys.getsizeof()函数可以完成查找特定对象在内存中占用一些空间的存储大小。此函数以字节为单位返回对象的大小。它最多需要两个参数,即对象本身。
Syntax: sys.getsizeof(object*)
Parameters: arg can be int, str, function, etc.
Returns: Size of the given object.
此函数用途广泛,可以处理任何数据类型甚至函数。为此,必须导入第一个 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