如何使用Python中的Sized()函数获取对象的大小
发布时间:2024-01-06 09:07:03
在Python中,我们可以使用内置函数sizeof()来获取对象的大小。sys.getsizeof()函数用于返回一个对象的大小(以字节为单位)。
以下是一个例子,展示如何使用sys.getsizeof()函数来获取不同对象的大小:
import sys
string = "Hello, world!"
list_ = [1, 2, 3, 4, 5]
dict_ = {'key1': 'value1', 'key2': 'value2'}
tuple_ = (1, 2, 3, 4, 5)
set_ = {1, 2, 3, 4, 5}
string_size = sys.getsizeof(string)
list_size = sys.getsizeof(list_)
dict_size = sys.getsizeof(dict_)
tuple_size = sys.getsizeof(tuple_)
set_size = sys.getsizeof(set_)
print(f"Size of string: {string_size} bytes")
print(f"Size of list: {list_size} bytes")
print(f"Size of dictionary: {dict_size} bytes")
print(f"Size of tuple: {tuple_size} bytes")
print(f"Size of set: {set_size} bytes")
输出将是:
Size of string: 58 bytes Size of list: 112 bytes Size of dictionary: 240 bytes Size of tuple: 96 bytes Size of set: 728 bytes
注意,sys.getsizeof()函数返回的大小可能只是对象本身的大小,并不包括其引用的其他对象的大小。例如,对于列表和字典,它们的大小不包括其元素的大小,只包括它们内部的指针和其他开销。因此,从输出的结果可以看出,列表和字典的大小要大于它们实际存储的元素的大小。
另外,值得一提的是,sys.getsizeof()函数的返回值可能包含对象的内部未使用的空间,并且在不同的Python实现中可能会有所不同。因此,这个函数的返回值只应该用作比较不同对象之间的相对大小,而不是精确的对象大小。
