Python - AI 助手

Python sys.getsizeof() 方法



Python 的 `sys.getsizeof()` 方法返回 Python 物件的大小(以位元組為單位)。這包括物件的內容和開銷。它主要用於記憶體分析和除錯,以瞭解物件消耗了多少記憶體。

此方法接受一個引數,即要測量其大小的物件,以及一個可選的預設引數,如果物件不支援大小檢索則返回該引數。

需要注意的是,`sys.getsizeof()` 方法不考慮引用物件的尺寸,只考慮給定物件的直接尺寸。

語法

以下是 Python `sys.getsizeof()` 方法的語法和引數:

sys.getsizeof(object[, default])

引數

以下是 python `sys.getsizeof()` 方法的引數:

  • object: 要確定其大小的物件。
  • default(可選): 如果物件沒有提供 `__sizeof__` 方法,並且提供了此引數,則將其作為大小返回。否則將引發 `TypeError`。

返回值

此方法返回物件的尺寸(以位元組為單位)。

示例 1

以下示例顯示了整數、浮點數和字串的大小:

import sys

x = 42
y = 3.14
s = "Hello, Welcome to Tutorialspoint!"

print(sys.getsizeof(x))  
print(sys.getsizeof(y))  
print(sys.getsizeof(s))    

輸出

28
24
82

注意:確切的大小可能因 Python 實現和平臺而異。

示例 2

此示例顯示了新增元素前後列表的大小。由於列表的動態陣列結構,隨著元素的新增,大小會增加:

import sys

lst = [1, 2, 3, 4, 5]
print(sys.getsizeof(lst))  

# Adding element to list
lst.append(6)
print(sys.getsizeof(lst))  

輸出

104
104

示例 3

此示例顯示了自定義物件的大小。`sys.getsizeof()` 方法僅提供物件本身的大小,而不提供其引用的物件的大小:

import sys

class MyClass:
    def __init__(self):
        self.x = 1
        self.y = [1, 2, 3]

obj = MyClass()
print(sys.getsizeof(obj))

輸出

56

示例 4

此示例指定一個預設大小值,如果物件不提供大小資訊,則返回該值:

import sys

class MyClass:
   def __init__(self):
      self.x = 1

# Default size if no size information is available
print(sys.getsizeof(MyClass, default=100))

輸出

1072
python_modules.htm
廣告